9e4722567a379a5f3131d202cce18bcb6ca8a342
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoModelManager.h
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelManager - main helper class for femtoscopy calculations     ///
4 /// Manages weight generation, freeze-out coordinates generation             ///
5 /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu                           ///
6 ///                                                                          ///
7 ////////////////////////////////////////////////////////////////////////////////
8 #ifndef AliFemtoModelManager_hh
9 #define AliFemtoModelManager_hh
10
11 #include "AliFemtoEnumeration.h"
12 #include "AliFemtoModelWeightGenerator.h"
13 #include "AliFemtoModelFreezeOutGenerator.h"
14
15 class AliFemtoModelManager 
16 {
17  public:
18   AliFemtoModelManager();
19   AliFemtoModelManager(const AliFemtoModelManager& aManager);
20   virtual  ~AliFemtoModelManager();
21
22   AliFemtoModelManager& operator=(const AliFemtoModelManager& aManager);
23
24   void AcceptFreezeOutGenerator(AliFemtoModelFreezeOutGenerator *aFreeze);
25   void AcceptWeightGenerator(AliFemtoModelWeightGenerator *aWeight);
26   void CreateCopyHiddenInfo();
27
28   AliFemtoModelFreezeOutGenerator* GetFreezeOutGenerator();
29   AliFemtoModelWeightGenerator*    GetWeightGenerator();
30
31   virtual Double_t GetWeight(AliFemtoPair *aPair);
32   
33  protected:
34   AliFemtoModelFreezeOutGenerator *fFreezeOutGenerator;   // Freeze-out coordinates generator
35   AliFemtoModelWeightGenerator    *fWeightGenerator;      // Femtoscopic weight generator
36   Bool_t                           fCreateCopyHiddenInfo; // Switch to turn on hidden-info generation
37
38  private:
39                 
40 #ifdef __ROOT__
41   ClassDef(AliFemtoModelManager, 1)
42 #endif
43
44     };
45   
46 #endif
47
48