1 ////////////////////////////////////////////////////////////////////////////////
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 ///
7 ////////////////////////////////////////////////////////////////////////////////
8 #include "AliFemtoModelHiddenInfo.h"
10 //_____________________________________________
11 AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo() :
17 // Default constructor
19 //_____________________________________________
20 AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo(const AliFemtoModelHiddenInfo &aInfo) :
21 AliFemtoHiddenInfo(aInfo),
28 if (aInfo.GetTrueMomentum())
29 SetTrueMomentum(aInfo.GetTrueMomentum());
30 if (aInfo.GetEmissionPoint())
31 SetEmissionPoint(aInfo.GetEmissionPoint());
32 fPDGPid = aInfo.GetPDGPid();
33 fMass = aInfo.GetMass();
35 //_____________________________________________
36 AliFemtoModelHiddenInfo::~AliFemtoModelHiddenInfo()
39 if (fTrueMomentum) delete fTrueMomentum;
40 if (fEmissionPoint) delete fEmissionPoint;
42 //_____________________________________________
43 AliFemtoModelHiddenInfo& AliFemtoModelHiddenInfo::operator=(const AliFemtoModelHiddenInfo& aInfo)
45 // assignment operator
49 if (aInfo.GetTrueMomentum())
50 SetTrueMomentum(aInfo.GetTrueMomentum());
51 else SetTrueMomentum(0);
52 if (aInfo.GetEmissionPoint())
53 SetEmissionPoint(aInfo.GetEmissionPoint());
54 else SetEmissionPoint(0);
55 fPDGPid = aInfo.GetPDGPid();
56 fMass = aInfo.GetMass();
60 //_____________________________________________
61 AliFemtoThreeVector *AliFemtoModelHiddenInfo::GetTrueMomentum() const
65 //_____________________________________________
66 AliFemtoLorentzVector *AliFemtoModelHiddenInfo::GetEmissionPoint() const
68 return fEmissionPoint;
70 //_____________________________________________
71 Int_t AliFemtoModelHiddenInfo::GetPDGPid() const
75 //_____________________________________________
76 Double_t AliFemtoModelHiddenInfo::GetMass() const
80 //_____________________________________________
81 void AliFemtoModelHiddenInfo::SetTrueMomentum(AliFemtoThreeVector *aMom)
83 // Set momentum from vector
85 fTrueMomentum->SetX(aMom->x());
86 fTrueMomentum->SetY(aMom->y());
87 fTrueMomentum->SetZ(aMom->z());
90 fTrueMomentum = new AliFemtoThreeVector(*aMom);
93 //_____________________________________________
94 void AliFemtoModelHiddenInfo::SetTrueMomentum(const AliFemtoThreeVector& aMom)
96 // Set momentum from vector
98 fTrueMomentum->SetX(aMom.x());
99 fTrueMomentum->SetY(aMom.y());
100 fTrueMomentum->SetZ(aMom.z());
103 fTrueMomentum = new AliFemtoThreeVector();
104 *fTrueMomentum = aMom;
107 //_____________________________________________
108 void AliFemtoModelHiddenInfo::SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz)
110 // Set momentum from components
111 if (!fTrueMomentum) fTrueMomentum = new AliFemtoThreeVector();
112 fTrueMomentum->SetX(aPx);
113 fTrueMomentum->SetY(aPy);
114 fTrueMomentum->SetZ(aPz);
116 //_____________________________________________
117 void AliFemtoModelHiddenInfo::SetEmissionPoint(AliFemtoLorentzVector *aPos)
119 // Set position from vector
120 if (fEmissionPoint) {
121 fEmissionPoint->SetX(aPos->px());
122 fEmissionPoint->SetY(aPos->py());
123 fEmissionPoint->SetZ(aPos->pz());
124 fEmissionPoint->SetT(aPos->e());
127 fEmissionPoint = new AliFemtoLorentzVector(*aPos);
130 //_____________________________________________
131 void AliFemtoModelHiddenInfo::SetEmissionPoint(const AliFemtoLorentzVector& aPos)
133 // Set position from vector
134 if (fEmissionPoint) {
135 fEmissionPoint->SetX(aPos.px());
136 fEmissionPoint->SetY(aPos.py());
137 fEmissionPoint->SetZ(aPos.pz());
138 fEmissionPoint->SetT(aPos.e());
141 fEmissionPoint = new AliFemtoLorentzVector();
142 *fEmissionPoint = aPos;
145 //_____________________________________________
146 void AliFemtoModelHiddenInfo::SetPDGPid(Int_t aPid)
150 //_____________________________________________
151 void AliFemtoModelHiddenInfo::SetMass(Double_t aMass)
155 //_____________________________________________
156 void AliFemtoModelHiddenInfo::SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
158 // Set position from components
159 if (fEmissionPoint) {
160 fEmissionPoint->SetX(aRx);
161 fEmissionPoint->SetY(aRy);
162 fEmissionPoint->SetZ(aRz);
163 fEmissionPoint->SetT(aT);
166 fEmissionPoint = new AliFemtoLorentzVector(aRx, aRy, aRz, aT);
169 //_____________________________________________
170 AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::GetParticleHiddenInfo() const
172 // return copy of this hidden info
173 AliFemtoModelHiddenInfo* tBuf = new AliFemtoModelHiddenInfo(*this);