]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | /// /// | |
3 | /// AliFemtoModelHiddenInfo - the hidden info for model calculations /// | |
4 | /// Stores information needed for the weight generation - the true /// | |
5 | /// simulated momenta, freeze-out coordinates from model and particle PID /// | |
6 | /// /// | |
7 | //////////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | #ifndef ALIFEMTOMODELHIDDENINFO_H | |
10 | #define ALIFEMTOMODELHIDDENINFO_H | |
11 | ||
12 | #include <TH1D.h> | |
13 | #include "AliFemtoTypes.h" | |
14 | #include "AliFemtoThreeVector.h" | |
15 | #include "AliFemtoLorentzVector.h" | |
16 | #include "AliFemtoHiddenInfo.h" | |
17 | ||
18 | class AliFemtoModelHiddenInfo : public AliFemtoHiddenInfo{ | |
19 | ||
20 | public: | |
21 | AliFemtoModelHiddenInfo(); | |
22 | AliFemtoModelHiddenInfo(const AliFemtoModelHiddenInfo &aInfo); | |
23 | virtual ~AliFemtoModelHiddenInfo(); | |
24 | ||
25 | AliFemtoModelHiddenInfo& operator=(const AliFemtoModelHiddenInfo& aInfo); | |
26 | AliFemtoThreeVector *GetTrueMomentum() const; | |
27 | AliFemtoLorentzVector *GetEmissionPoint() const; | |
28 | Int_t GetPDGPid() const; | |
acc1ca78 | 29 | Int_t GetMotherPdgCode() const; |
76ce4b5b | 30 | Double_t GetMass() const; |
31 | ||
ce7b3d98 | 32 | AliFemtoThreeVector *GetTrueMomentumPos() const; |
33 | AliFemtoLorentzVector *GetEmissionPointPos() const; | |
34 | Int_t GetPDGPidPos() const; | |
35 | Double_t GetMassPos() const; | |
36 | ||
37 | AliFemtoThreeVector *GetTrueMomentumNeg() const; | |
38 | AliFemtoLorentzVector *GetEmissionPointNeg() const; | |
39 | Int_t GetPDGPidNeg() const; | |
40 | Double_t GetMassNeg() const; | |
41 | ||
76ce4b5b | 42 | void SetTrueMomentum(AliFemtoThreeVector *aMom); |
43 | void SetTrueMomentum(const AliFemtoThreeVector& aMom); | |
44 | void SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz); | |
45 | void SetEmissionPoint(AliFemtoLorentzVector *aPos); | |
46 | void SetEmissionPoint(const AliFemtoLorentzVector& aPos); | |
47 | void SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT); | |
48 | void SetPDGPid(Int_t aPid); | |
acc1ca78 | 49 | void SetMotherPdgCode(Int_t motherPdg); |
76ce4b5b | 50 | void SetMass(Double_t aMass); |
51 | ||
ce7b3d98 | 52 | void SetTrueMomentumPos(AliFemtoThreeVector *aMom); |
53 | void SetTrueMomentumPos(const AliFemtoThreeVector& aMom); | |
54 | void SetTrueMomentumPos(Double_t aPx, Double_t aPy, Double_t aPz); | |
55 | void SetEmissionPointPos(AliFemtoLorentzVector *aPos); | |
56 | void SetEmissionPointPos(const AliFemtoLorentzVector& aPos); | |
57 | void SetEmissionPointPos(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT); | |
58 | void SetPDGPidPos(Int_t aPid); | |
59 | void SetMassPos(Double_t aMass); | |
60 | ||
61 | void SetTrueMomentumNeg(AliFemtoThreeVector *aMom); | |
62 | void SetTrueMomentumNeg(const AliFemtoThreeVector& aMom); | |
63 | void SetTrueMomentumNeg(Double_t aPx, Double_t aPy, Double_t aPz); | |
64 | void SetEmissionPointNeg(AliFemtoLorentzVector *aPos); | |
65 | void SetEmissionPointNeg(const AliFemtoLorentzVector& aPos); | |
66 | void SetEmissionPointNeg(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT); | |
67 | void SetPDGPidNeg(Int_t aPid); | |
68 | void SetMassNeg(Double_t aMass); | |
69 | ||
76ce4b5b | 70 | // !!! MANDATORY !!! |
71 | // --- Copy the hidden info from AliFemtoTrack to AliFemtoParticle | |
72 | virtual AliFemtoHiddenInfo* Clone() const; | |
acc1ca78 | 73 | |
76ce4b5b | 74 | protected: |
75 | virtual AliFemtoHiddenInfo* GetParticleHiddenInfo() const; | |
76 | ||
77 | AliFemtoThreeVector *fTrueMomentum; // True (simulated) momentum | |
78 | AliFemtoLorentzVector *fEmissionPoint; // Emission point coordinates | |
79 | Int_t fPDGPid; // True PID of the particle | |
acc1ca78 | 80 | Int_t fMotherPdg; // PDG code of particle's mother |
76ce4b5b | 81 | Double_t fMass; // True particle mass |
ce7b3d98 | 82 | |
83 | //daughter particles | |
84 | AliFemtoThreeVector *fTrueMomentumPos; // True (simulated) momentum of positive daughter | |
85 | AliFemtoLorentzVector *fEmissionPointPos; // Emission point coordinates of positive daughter | |
86 | Int_t fPDGPidPos; // True PID of positive daughter | |
87 | Double_t fMassPos; // True particle mass of positive daughter | |
88 | ||
89 | AliFemtoThreeVector *fTrueMomentumNeg; // True (simulated) momentum of negative daughter | |
90 | AliFemtoLorentzVector *fEmissionPointNeg; // Emission point coordinates of negative daughter | |
91 | Int_t fPDGPidNeg; // True PID of negative daughter | |
92 | Double_t fMassNeg; // True particle mass of negative daughter | |
76ce4b5b | 93 | }; |
94 | //_______________________________________ | |
95 | inline AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::Clone() const{ | |
96 | // return exact copy of this hidden info | |
97 | return GetParticleHiddenInfo(); | |
98 | } | |
99 | ||
100 | #endif |