75c432a7 |
1 | //////////////////////////////////////////////////////////////////////////////// |
2 | /// /// |
3 | /// AliFemtoModelWeightGenerator - abstract base class for femtoscopic /// |
4 | /// weight generator /// |
5 | /// Authors: Adam Kisiel kisiel@mps.ohio-state.edu /// |
6 | /// /// |
7 | //////////////////////////////////////////////////////////////////////////////// |
8 | #ifndef AliFemtoModelWeightGenerator_hh |
9 | #define AliFemtoModelWeightGenerator_hh |
10 | |
11 | #include "TRandom2.h" |
12 | #include "AliFemtoPair.h" |
13 | |
14 | class AliFemtoModelWeightGenerator |
15 | { |
16 | public: |
17 | AliFemtoModelWeightGenerator(); |
18 | AliFemtoModelWeightGenerator(const AliFemtoModelWeightGenerator &aModel); |
19 | virtual ~AliFemtoModelWeightGenerator(); |
20 | virtual Double_t GenerateWeight(AliFemtoPair *aPair) = 0; |
21 | |
22 | virtual void SetPairType(Int_t aPairType); |
23 | virtual void SetPairTypeFromPair(AliFemtoPair *aPair); |
24 | virtual Int_t GetPairType(); |
25 | |
26 | virtual Double_t GetKStar(); |
27 | virtual Double_t GetKStarOut(); |
28 | virtual Double_t GetKStarSide(); |
29 | virtual Double_t GetKStarLong(); |
30 | virtual Double_t GetRStar(); |
31 | virtual Double_t GetRStarOut(); |
32 | virtual Double_t GetRStarSide(); |
33 | virtual Double_t GetRStarLong(); |
34 | |
35 | virtual AliFemtoModelWeightGenerator* Clone() const; |
36 | |
37 | static const Int_t kPionPlusPionPlus; |
38 | static const Int_t kPionPlusPionMinus; |
39 | static const Int_t kKaonPlusKaonPlus; |
40 | static const Int_t kKaonPlusKaonMinus; |
41 | static const Int_t kProtonProton; |
42 | static const Int_t kProtonAntiproton; |
43 | static const Int_t kPionPlusKaonPlus; |
44 | static const Int_t kPionPlusKaonMinus; |
45 | static const Int_t kPionPlusProton; |
46 | static const Int_t kPionPlusAntiproton; |
47 | static const Int_t kKaonPlusProton; |
48 | static const Int_t kKaonPlusAntiproton; |
49 | |
50 | protected: |
51 | Int_t fPairType; |
52 | |
53 | Double_t fKStarOut; // relative momentum out component in PRF |
54 | Double_t fKStarSide; // relative momentum side component in PRF |
55 | Double_t fKStarLong; // relative momentum long component in PRF |
56 | Double_t fKStar; // relative momentum magnitude |
57 | |
58 | Double_t fRStarOut; // relative separation out component in PRF |
59 | Double_t fRStarSide; // relative separation side component in PRF |
60 | Double_t fRStarLong; // relative separation long component in PRF |
61 | Double_t fRStar; // relative separation magnitude |
62 | private: |
63 | |
64 | #ifdef __ROOT__ |
65 | ClassDef(AliFemtoModelWeightGenerator, 1) |
66 | #endif |
67 | |
68 | }; |
69 | |
70 | inline Double_t AliFemtoModelWeightGenerator::GetKStar() { return fKStar; } |
71 | inline Double_t AliFemtoModelWeightGenerator::GetKStarOut() { return fKStarOut; } |
72 | inline Double_t AliFemtoModelWeightGenerator::GetKStarSide() { return fKStarSide; } |
73 | inline Double_t AliFemtoModelWeightGenerator::GetKStarLong() { return fKStarLong; } |
74 | inline Double_t AliFemtoModelWeightGenerator::GetRStar() { return fRStar; } |
75 | inline Double_t AliFemtoModelWeightGenerator::GetRStarOut() { return fRStarOut; } |
76 | inline Double_t AliFemtoModelWeightGenerator::GetRStarSide() { return fRStarSide; } |
77 | inline Double_t AliFemtoModelWeightGenerator::GetRStarLong() { return fRStarLong; } |
78 | |
79 | |
80 | #endif |
81 | |
82 | |