]>
Commit | Line | Data |
---|---|---|
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 |