ROOT logo
////////////////////////////////////////////////////////////////////////////////
///                                                                          ///
/// AliFemtoModelManager - main helper class for femtoscopy calculations     ///
/// Manages weight generation, freeze-out coordinates generation             ///
/// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
///                                                                          ///
////////////////////////////////////////////////////////////////////////////////
#ifndef AliFemtoModelManager_hh
#define AliFemtoModelManager_hh

#include "AliFemtoEnumeration.h"
#include "AliFemtoModelWeightGenerator.h"
#include "AliFemtoModelFreezeOutGenerator.h"

class AliFemtoModelManager 
{
 public:
  AliFemtoModelManager();
  AliFemtoModelManager(const AliFemtoModelManager& aManager);
  virtual  ~AliFemtoModelManager();

  AliFemtoModelManager& operator=(const AliFemtoModelManager& aManager);

  void AcceptFreezeOutGenerator(AliFemtoModelFreezeOutGenerator *aFreeze);
  void AcceptWeightGenerator(AliFemtoModelWeightGenerator *aWeight);
  void CreateCopyHiddenInfo(Bool_t aCopy=kTRUE);

  AliFemtoModelFreezeOutGenerator* GetFreezeOutGenerator();
  AliFemtoModelWeightGenerator*    GetWeightGenerator();

  virtual Double_t GetWeight(AliFemtoPair *aPair);
  
 protected:
  AliFemtoModelFreezeOutGenerator *fFreezeOutGenerator;   // Freeze-out coordinates generator
  AliFemtoModelWeightGenerator    *fWeightGenerator;      // Femtoscopic weight generator
  Bool_t                           fCreateCopyHiddenInfo; // Switch to turn on hidden-info generation

 private:
		
#ifdef __ROOT__
  ClassDef(AliFemtoModelManager, 1)
#endif

    };
  
#endif


 AliFemtoModelManager.h:1
 AliFemtoModelManager.h:2
 AliFemtoModelManager.h:3
 AliFemtoModelManager.h:4
 AliFemtoModelManager.h:5
 AliFemtoModelManager.h:6
 AliFemtoModelManager.h:7
 AliFemtoModelManager.h:8
 AliFemtoModelManager.h:9
 AliFemtoModelManager.h:10
 AliFemtoModelManager.h:11
 AliFemtoModelManager.h:12
 AliFemtoModelManager.h:13
 AliFemtoModelManager.h:14
 AliFemtoModelManager.h:15
 AliFemtoModelManager.h:16
 AliFemtoModelManager.h:17
 AliFemtoModelManager.h:18
 AliFemtoModelManager.h:19
 AliFemtoModelManager.h:20
 AliFemtoModelManager.h:21
 AliFemtoModelManager.h:22
 AliFemtoModelManager.h:23
 AliFemtoModelManager.h:24
 AliFemtoModelManager.h:25
 AliFemtoModelManager.h:26
 AliFemtoModelManager.h:27
 AliFemtoModelManager.h:28
 AliFemtoModelManager.h:29
 AliFemtoModelManager.h:30
 AliFemtoModelManager.h:31
 AliFemtoModelManager.h:32
 AliFemtoModelManager.h:33
 AliFemtoModelManager.h:34
 AliFemtoModelManager.h:35
 AliFemtoModelManager.h:36
 AliFemtoModelManager.h:37
 AliFemtoModelManager.h:38
 AliFemtoModelManager.h:39
 AliFemtoModelManager.h:40
 AliFemtoModelManager.h:41
 AliFemtoModelManager.h:42
 AliFemtoModelManager.h:43
 AliFemtoModelManager.h:44
 AliFemtoModelManager.h:45
 AliFemtoModelManager.h:46
 AliFemtoModelManager.h:47
 AliFemtoModelManager.h:48