1 //K//////////////////////////////////////////////////////////////////////////M//
3 //K AliFemtoModelAllHiddenInfo - M//
4 //K derived class inherits the base class AliFemtoModelHiddenInfo M//
5 //K the hidden info for model calculations M//
6 //K Stores information needed for the weight generation - M//
8 //K in addition to the base class AliFemtoModelHiddenInfo - the true M//
9 //K simulated momenta, freeze-out coordinates from model and particle PID M//
10 //K New information was added M//
12 //K 2. Mother 4-Momentum M//
13 //K 3. Mother emission point 4-vector M//
15 //K 5. Childs 4-Momentum M//
16 //K--------------------------------------------------------------------------M// //
17 //K APR2008 Konstantin Mikhailov Konstantin.Mikhailov@itep.ru M//
19 //K//////////////////////////////////////////////////////////////////////////M//
20 #include "AliFemtoModelAllHiddenInfo.h"
22 //_____________________________________________
23 AliFemtoModelAllHiddenInfo::AliFemtoModelAllHiddenInfo() :
24 fTrueMomentumMother(0),
25 fEmissionPointMother(0),
27 fTrueMomentumChild1(0),
28 fTrueMomentumChild2(0),
32 // Default constructor
34 //_____________________________________________
35 AliFemtoModelAllHiddenInfo::AliFemtoModelAllHiddenInfo(const AliFemtoModelAllHiddenInfo &aInfo) :
36 AliFemtoModelHiddenInfo(aInfo),
37 fTrueMomentumMother(new AliFemtoLorentzVector(*(aInfo.fTrueMomentumMother))),
38 fEmissionPointMother(new AliFemtoLorentzVector(*(aInfo.fEmissionPointMother))),
39 fPDGPidMother(aInfo.fPDGPidMother),
40 fTrueMomentumChild1(new AliFemtoLorentzVector(*(aInfo.fTrueMomentumChild1))),
41 fTrueMomentumChild2(new AliFemtoLorentzVector(*(aInfo.fTrueMomentumChild2))),
42 fPDGPidChild1(aInfo.fPDGPidChild1),
43 fPDGPidChild2(aInfo.fPDGPidChild2)
49 //_____________________________________________
50 AliFemtoModelAllHiddenInfo::~AliFemtoModelAllHiddenInfo()
53 delete fTrueMomentumMother;
54 delete fEmissionPointMother;
55 delete fTrueMomentumChild1;
56 delete fTrueMomentumChild2;
58 //_____________________________________________
59 AliFemtoModelAllHiddenInfo& AliFemtoModelAllHiddenInfo::operator=(const AliFemtoModelAllHiddenInfo& aInfo)
62 // assignment operator
65 AliFemtoModelHiddenInfo::operator=(aInfo);
66 delete fTrueMomentumMother;
67 fTrueMomentumMother = new AliFemtoLorentzVector(*(aInfo.fTrueMomentumMother));
68 delete fEmissionPointMother;
69 fEmissionPointMother = new AliFemtoLorentzVector(*(aInfo.fEmissionPointMother));
70 fPDGPidMother = aInfo.fPDGPidMother;
71 delete fTrueMomentumChild1;
72 fTrueMomentumChild1 = new AliFemtoLorentzVector(*(aInfo.fTrueMomentumChild1));
73 delete fTrueMomentumChild2;
74 fTrueMomentumChild2 = new AliFemtoLorentzVector(*(aInfo.fTrueMomentumChild2));
75 fPDGPidChild1 = aInfo.fPDGPidChild1;
76 fPDGPidChild2 = aInfo.fPDGPidChild2;
83 //_____________________________________________
84 AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumMother() const
86 return fTrueMomentumMother;
88 //_____________________________________________
89 AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetEmissionPointMother() const
91 return fEmissionPoint;
93 //_____________________________________________
94 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidMother() const
98 //_____________________________________________
99 AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumChild1() const
101 return fTrueMomentumChild1;
103 //_____________________________________________
104 AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumChild2() const
106 return fTrueMomentumChild2;
108 //_____________________________________________
109 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidChild1() const
111 return fPDGPidChild1;
113 //_____________________________________________
114 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidChild2() const
116 return fPDGPidChild2;
121 //_____________________________________________
123 //_____________________________________________
124 void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(AliFemtoLorentzVector *aMomMother)
126 // Set momentum from vector
127 if (fTrueMomentumMother) {
128 fTrueMomentumMother->SetX(aMomMother->px());
129 fTrueMomentumMother->SetY(aMomMother->py());
130 fTrueMomentumMother->SetZ(aMomMother->pz());
131 fTrueMomentumMother->SetT(aMomMother->e());
134 fTrueMomentumMother = new AliFemtoLorentzVector(*aMomMother);
137 //_____________________________________________
138 void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(const AliFemtoLorentzVector& aMomMother)
140 // Set momentum from vector and energy
141 if (fTrueMomentumMother) {
142 fTrueMomentumMother->SetX(aMomMother.px());
143 fTrueMomentumMother->SetY(aMomMother.py());
144 fTrueMomentumMother->SetZ(aMomMother.pz());
145 fTrueMomentumMother->SetT(aMomMother.e());
148 fTrueMomentumMother = new AliFemtoLorentzVector();
149 *fTrueMomentumMother = aMomMother;
152 //_____________________________________________
153 void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(Double_t aMotherPx, Double_t aMotherPy, Double_t aMotherPz, Double_t aMotherE)
155 // Set momentum from components and energy
156 if (!fTrueMomentumMother) fTrueMomentumMother = new AliFemtoLorentzVector();
157 fTrueMomentumMother->SetX(aMotherPx);
158 fTrueMomentumMother->SetY(aMotherPy);
159 fTrueMomentumMother->SetZ(aMotherPz);
160 fTrueMomentumMother->SetT(aMotherE);
162 //_____________________________________________
163 // Mother Emissin Point
164 //_____________________________________________
165 void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(AliFemtoLorentzVector *aPos)
167 // Set position from vector
168 if (fEmissionPointMother) {
169 fEmissionPointMother->SetX(aPos->px());
170 fEmissionPointMother->SetY(aPos->py());
171 fEmissionPointMother->SetZ(aPos->pz());
172 fEmissionPointMother->SetT(aPos->e());
175 fEmissionPointMother = new AliFemtoLorentzVector(*aPos);
178 //_____________________________________________
179 void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(const AliFemtoLorentzVector& aPos)
181 // Set position from vector
182 if (fEmissionPointMother) {
183 fEmissionPointMother->SetX(aPos.px());
184 fEmissionPointMother->SetY(aPos.py());
185 fEmissionPointMother->SetZ(aPos.pz());
186 fEmissionPointMother->SetT(aPos.e());
189 fEmissionPointMother = new AliFemtoLorentzVector();
190 *fEmissionPointMother = aPos;
193 //_____________________________________________
194 void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
196 // Set position from components
197 if (fEmissionPointMother) {
198 fEmissionPointMother->SetX(aRx);
199 fEmissionPointMother->SetY(aRy);
200 fEmissionPointMother->SetZ(aRz);
201 fEmissionPointMother->SetT(aT);
204 fEmissionPointMother = new AliFemtoLorentzVector(aRx, aRy, aRz, aT);
207 //_____________________________________________
209 //_____________________________________________
210 void AliFemtoModelAllHiddenInfo::SetPDGPidMother(Int_t aPidMother)
212 fPDGPidMother = aPidMother;
214 //_____________________________________________
216 //_____________________________________________
217 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(AliFemtoLorentzVector *aMomChild1)
219 // Set momentum from vector
220 if (fTrueMomentumChild1) {
221 fTrueMomentumChild1->SetX(aMomChild1->px());
222 fTrueMomentumChild1->SetY(aMomChild1->py());
223 fTrueMomentumChild1->SetZ(aMomChild1->pz());
224 fTrueMomentumChild1->SetT(aMomChild1->e());
227 fTrueMomentumChild1 = new AliFemtoLorentzVector(*aMomChild1);
230 //_____________________________________________
231 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(const AliFemtoLorentzVector& aMomChild1)
233 // Set momentum from vector and energy
234 if (fTrueMomentumChild1) {
235 fTrueMomentumChild1->SetX(aMomChild1.px());
236 fTrueMomentumChild1->SetY(aMomChild1.py());
237 fTrueMomentumChild1->SetZ(aMomChild1.pz());
238 fTrueMomentumChild1->SetT(aMomChild1.e());
241 fTrueMomentumChild1 = new AliFemtoLorentzVector();
242 *fTrueMomentumChild1 = aMomChild1;
245 //_____________________________________________
246 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(Double_t aChild1Px, Double_t aChild1Py, Double_t aChild1Pz, Double_t aChild1E)
248 // Set momentum from components and energy
249 if (!fTrueMomentumChild1) fTrueMomentumChild1 = new AliFemtoLorentzVector();
250 fTrueMomentumChild1->SetX(aChild1Px);
251 fTrueMomentumChild1->SetY(aChild1Py);
252 fTrueMomentumChild1->SetZ(aChild1Pz);
253 fTrueMomentumChild1->SetT(aChild1E);
255 //_____________________________________________
257 //_____________________________________________
258 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(AliFemtoLorentzVector *aMomChild2)
260 // Set momentum from vector
261 if (fTrueMomentumChild2) {
262 fTrueMomentumChild2->SetX(aMomChild2->px());
263 fTrueMomentumChild2->SetY(aMomChild2->py());
264 fTrueMomentumChild2->SetZ(aMomChild2->pz());
265 fTrueMomentumChild2->SetT(aMomChild2->e());
268 fTrueMomentumChild2 = new AliFemtoLorentzVector(*aMomChild2);
271 //_____________________________________________
272 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(const AliFemtoLorentzVector& aMomChild2)
274 // Set momentum from vector and energy
275 if (fTrueMomentumChild2) {
276 fTrueMomentumChild2->SetX(aMomChild2.px());
277 fTrueMomentumChild2->SetY(aMomChild2.py());
278 fTrueMomentumChild2->SetZ(aMomChild2.pz());
279 fTrueMomentumChild2->SetT(aMomChild2.e());
282 fTrueMomentumChild2 = new AliFemtoLorentzVector();
283 *fTrueMomentumChild2 = aMomChild2;
286 //_____________________________________________
287 void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(Double_t aChild2Px, Double_t aChild2Py, Double_t aChild2Pz, Double_t aChild2E)
289 // Set momentum from components and energy
290 if (!fTrueMomentumChild2) fTrueMomentumChild2 = new AliFemtoLorentzVector();
291 fTrueMomentumChild2->SetX(aChild2Px);
292 fTrueMomentumChild2->SetY(aChild2Py);
293 fTrueMomentumChild2->SetZ(aChild2Pz);
294 fTrueMomentumChild2->SetT(aChild2E);
296 //_____________________________________________
298 //_____________________________________________
299 void AliFemtoModelAllHiddenInfo::SetPDGPidChild1(Int_t aPidChild1)
301 fPDGPidMother = aPidChild1;
303 //_____________________________________________
305 //_____________________________________________
306 void AliFemtoModelAllHiddenInfo::SetPDGPidChild2(Int_t aPidChild2)
308 fPDGPidMother = aPidChild2;
313 //_____________________________________________
314 AliFemtoModelHiddenInfo* AliFemtoModelAllHiddenInfo::GetParticleHiddenInfo() const
316 // return copy of this hidden info
317 AliFemtoModelAllHiddenInfo* tBuf = new AliFemtoModelAllHiddenInfo(*this);