75c432a7 |
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_hh |
10 | #define AliFemtoModelHiddenInfo_hh |
11 | |
12 | #include <TH1D.h> |
13 | #include "Infrastructure/AliFemtoTypes.h" |
14 | #include "Infrastructure/AliFemtoThreeVector.h" |
15 | #include "Infrastructure/AliFemtoLorentzVector.h" |
16 | #include "Base/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; |
29 | Double_t GetMass() const; |
30 | |
31 | void SetTrueMomentum(AliFemtoThreeVector *aMom); |
32 | void SetTrueMomentum(const AliFemtoThreeVector& aMom); |
33 | void SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz); |
34 | void SetEmissionPoint(AliFemtoLorentzVector *aPos); |
35 | void SetEmissionPoint(const AliFemtoLorentzVector& aPos); |
36 | void SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT); |
37 | void SetPDGPid(Int_t aPid); |
38 | void SetMass(Double_t aMass); |
39 | |
40 | // !!! MANDATORY !!! |
41 | // --- Copy the hidden info from AliFemtoTrack to AliFemtoParticle |
42 | virtual AliFemtoHiddenInfo* getParticleHiddenInfo() const; |
43 | virtual AliFemtoHiddenInfo* clone() const; |
44 | |
45 | protected: |
46 | AliFemtoThreeVector *fTrueMomentum; // True (simulated) momentum |
47 | AliFemtoLorentzVector *fEmissionPoint; // Emission point coordinates |
48 | Int_t fPDGPid; // True PID of the particle |
49 | Double_t fMass; |
50 | }; |
51 | //_______________________________________ |
52 | inline AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::clone() const{ |
53 | // return exact copy of this hidden info |
54 | return getParticleHiddenInfo(); |
55 | } |
56 | |
57 | #endif |