Fix Coverity 10974-82
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoModelAllHiddenInfo.cxx
CommitLineData
a329d65b 1//K//////////////////////////////////////////////////////////////////////////M//
2//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//
7//K 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//
11//K 1. Mother ID M//
12//K 2. Mother 4-Momentum M//
13//K 3. Mother emission point 4-vector M//
14//K 4. Childs IDs M//
15//K 5. Childs 4-Momentum M//
16//K--------------------------------------------------------------------------M// //
17//K APR2008 Konstantin Mikhailov Konstantin.Mikhailov@itep.ru M//
18//K M//
19//K//////////////////////////////////////////////////////////////////////////M//
20#include "AliFemtoModelAllHiddenInfo.h"
21
22//_____________________________________________
23AliFemtoModelAllHiddenInfo::AliFemtoModelAllHiddenInfo() :
24 fTrueMomentumMother(0),
25 fEmissionPointMother(0),
26 fPDGPidMother(0),
27 fTrueMomentumChild1(0),
28 fTrueMomentumChild2(0),
29 fPDGPidChild1(0),
30 fPDGPidChild2(0)
31{
32 // Default constructor
33}
34//_____________________________________________
35AliFemtoModelAllHiddenInfo::AliFemtoModelAllHiddenInfo(const AliFemtoModelAllHiddenInfo &aInfo) :
36 AliFemtoModelHiddenInfo(aInfo),
37 fTrueMomentumMother(0),
38 fEmissionPointMother(0),
39 fPDGPidMother(0),
40 fTrueMomentumChild1(0),
41 fTrueMomentumChild2(0),
42 fPDGPidChild1(0),
43 fPDGPidChild2(0)
44{
45 // Copy constructor
46 if (aInfo.GetTrueMomentumMother())
47 SetTrueMomentumMother(aInfo.GetTrueMomentumMother());
48 if (aInfo.GetEmissionPointMother())
49 SetEmissionPointMother(aInfo.GetEmissionPointMother());
50 fPDGPidMother = aInfo.GetPDGPidMother();
51 if (aInfo.GetTrueMomentumChild1())
52 SetTrueMomentumChild1(aInfo.GetTrueMomentumChild1());
53 if (aInfo.GetTrueMomentumChild2())
54 SetTrueMomentumChild2(aInfo.GetTrueMomentumChild2());
55 fPDGPidChild1 = aInfo.GetPDGPidChild1();
56 fPDGPidChild2 = aInfo.GetPDGPidChild2();
57}
58//_____________________________________________
59AliFemtoModelAllHiddenInfo::~AliFemtoModelAllHiddenInfo()
60{
61 // Destructor
62 if (fTrueMomentumMother) delete fTrueMomentumMother;
63 if (fEmissionPointMother) delete fEmissionPointMother;
64 if (fTrueMomentumChild1) delete fTrueMomentumChild1;
65 if (fTrueMomentumChild2) delete fTrueMomentumChild2;
66}
67//_____________________________________________
68AliFemtoModelAllHiddenInfo& AliFemtoModelAllHiddenInfo::operator=(const AliFemtoModelAllHiddenInfo& aInfo)
69{
70 // assignment operator
71 if (this == &aInfo)
72 return *this;
73
74 if (aInfo.GetTrueMomentumMother())
75 SetTrueMomentumMother(aInfo.GetTrueMomentumMother());
76 else SetTrueMomentumMother(0);
77 if (aInfo.GetEmissionPointMother())
78 SetEmissionPointMother(aInfo.GetEmissionPointMother());
79 else SetEmissionPointMother(0);
80 fPDGPidMother = aInfo.GetPDGPidMother();
81 if (aInfo.GetTrueMomentumChild1())
82 SetTrueMomentumChild1(aInfo.GetTrueMomentumChild1());
83 else SetTrueMomentumChild1(0);
84 if (aInfo.GetTrueMomentumChild2())
85 SetTrueMomentumChild2(aInfo.GetTrueMomentumChild2());
86 else SetTrueMomentumChild2(0);
87 fPDGPidChild1 = aInfo.GetPDGPidChild1();
88 fPDGPidChild2 = aInfo.GetPDGPidChild2();
89
90 return *this;
91}
92//
93// GET
94//
95//_____________________________________________
96AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumMother() const
97{
98return fTrueMomentumMother;
99}
100//_____________________________________________
101AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetEmissionPointMother() const
102{
103 return fEmissionPoint;
104}
105//_____________________________________________
106 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidMother() const
107{
108 return fPDGPidMother;
109}
110//_____________________________________________
111AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumChild1() const
112{
113return fTrueMomentumChild1;
114}
115//_____________________________________________
116AliFemtoLorentzVector *AliFemtoModelAllHiddenInfo::GetTrueMomentumChild2() const
117{
118return fTrueMomentumChild2;
119}
120//_____________________________________________
121 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidChild1() const
122{
123 return fPDGPidChild1;
124}
125//_____________________________________________
126 Int_t AliFemtoModelAllHiddenInfo::GetPDGPidChild2() const
127{
128 return fPDGPidChild2;
129}
130//
131// SET
132//
133//_____________________________________________
134// Mother momentum
135//_____________________________________________
136void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(AliFemtoLorentzVector *aMomMother)
137{
01daf251 138 // Set momentum from vector
a329d65b 139 if (fTrueMomentumMother) {
01daf251 140 fTrueMomentumMother->SetX(aMomMother->px());
141 fTrueMomentumMother->SetY(aMomMother->py());
142 fTrueMomentumMother->SetZ(aMomMother->pz());
143 fTrueMomentumMother->SetT(aMomMother->e());
a329d65b 144 }
145 else {
146 fTrueMomentumMother = new AliFemtoLorentzVector(*aMomMother);
147 }
148}
149//_____________________________________________
150void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(const AliFemtoLorentzVector& aMomMother)
151{
01daf251 152 // Set momentum from vector and energy
a329d65b 153 if (fTrueMomentumMother) {
01daf251 154 fTrueMomentumMother->SetX(aMomMother.px());
155 fTrueMomentumMother->SetY(aMomMother.py());
156 fTrueMomentumMother->SetZ(aMomMother.pz());
157 fTrueMomentumMother->SetT(aMomMother.e());
a329d65b 158 }
159 else {
160 fTrueMomentumMother = new AliFemtoLorentzVector();
161 *fTrueMomentumMother = aMomMother;
162 }
163}
164//_____________________________________________
165void AliFemtoModelAllHiddenInfo::SetTrueMomentumMother(Double_t aMotherPx, Double_t aMotherPy, Double_t aMotherPz, Double_t aMotherE)
166{
01daf251 167 // Set momentum from components and energy
a329d65b 168 if (!fTrueMomentumMother) fTrueMomentumMother = new AliFemtoLorentzVector();
01daf251 169 fTrueMomentumMother->SetX(aMotherPx);
170 fTrueMomentumMother->SetY(aMotherPy);
171 fTrueMomentumMother->SetZ(aMotherPz);
172 fTrueMomentumMother->SetT(aMotherE);
a329d65b 173}
174//_____________________________________________
175// Mother Emissin Point
176//_____________________________________________
177void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(AliFemtoLorentzVector *aPos)
178{
01daf251 179 // Set position from vector
a329d65b 180 if (fEmissionPointMother) {
01daf251 181 fEmissionPointMother->SetX(aPos->px());
182 fEmissionPointMother->SetY(aPos->py());
183 fEmissionPointMother->SetZ(aPos->pz());
184 fEmissionPointMother->SetT(aPos->e());
a329d65b 185 }
186 else {
187 fEmissionPointMother = new AliFemtoLorentzVector(*aPos);
188 }
189}
190//_____________________________________________
191void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(const AliFemtoLorentzVector& aPos)
192{
01daf251 193 // Set position from vector
a329d65b 194 if (fEmissionPointMother) {
01daf251 195 fEmissionPointMother->SetX(aPos.px());
196 fEmissionPointMother->SetY(aPos.py());
197 fEmissionPointMother->SetZ(aPos.pz());
198 fEmissionPointMother->SetT(aPos.e());
a329d65b 199 }
200 else {
201 fEmissionPointMother = new AliFemtoLorentzVector();
202 *fEmissionPointMother = aPos;
203 }
204}
205//_____________________________________________
206void AliFemtoModelAllHiddenInfo::SetEmissionPointMother(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
207{
01daf251 208 // Set position from components
a329d65b 209 if (fEmissionPointMother) {
01daf251 210 fEmissionPointMother->SetX(aRx);
211 fEmissionPointMother->SetY(aRy);
212 fEmissionPointMother->SetZ(aRz);
213 fEmissionPointMother->SetT(aT);
a329d65b 214 }
215 else {
216 fEmissionPointMother = new AliFemtoLorentzVector(aRx, aRy, aRz, aT);
217 }
218}
219//_____________________________________________
220// Mother PID
221//_____________________________________________
222void AliFemtoModelAllHiddenInfo::SetPDGPidMother(Int_t aPidMother)
223{
224 fPDGPidMother = aPidMother;
225}
226//_____________________________________________
227// Child1 momentum
228//_____________________________________________
229void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(AliFemtoLorentzVector *aMomChild1)
230{
01daf251 231 // Set momentum from vector
a329d65b 232 if (fTrueMomentumChild1) {
01daf251 233 fTrueMomentumChild1->SetX(aMomChild1->px());
234 fTrueMomentumChild1->SetY(aMomChild1->py());
235 fTrueMomentumChild1->SetZ(aMomChild1->pz());
236 fTrueMomentumChild1->SetT(aMomChild1->e());
a329d65b 237 }
238 else {
239 fTrueMomentumChild1 = new AliFemtoLorentzVector(*aMomChild1);
240 }
241}
242//_____________________________________________
243void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(const AliFemtoLorentzVector& aMomChild1)
244{
01daf251 245 // Set momentum from vector and energy
a329d65b 246 if (fTrueMomentumChild1) {
01daf251 247 fTrueMomentumChild1->SetX(aMomChild1.px());
248 fTrueMomentumChild1->SetY(aMomChild1.py());
249 fTrueMomentumChild1->SetZ(aMomChild1.pz());
250 fTrueMomentumChild1->SetT(aMomChild1.e());
a329d65b 251 }
252 else {
253 fTrueMomentumChild1 = new AliFemtoLorentzVector();
254 *fTrueMomentumChild1 = aMomChild1;
255 }
256}
257//_____________________________________________
258void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild1(Double_t aChild1Px, Double_t aChild1Py, Double_t aChild1Pz, Double_t aChild1E)
259{
01daf251 260 // Set momentum from components and energy
a329d65b 261 if (!fTrueMomentumChild1) fTrueMomentumChild1 = new AliFemtoLorentzVector();
01daf251 262 fTrueMomentumChild1->SetX(aChild1Px);
263 fTrueMomentumChild1->SetY(aChild1Py);
264 fTrueMomentumChild1->SetZ(aChild1Pz);
265 fTrueMomentumChild1->SetT(aChild1E);
a329d65b 266}
267//_____________________________________________
268// Child2 momentum
269//_____________________________________________
270void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(AliFemtoLorentzVector *aMomChild2)
271{
01daf251 272 // Set momentum from vector
a329d65b 273 if (fTrueMomentumChild2) {
01daf251 274 fTrueMomentumChild2->SetX(aMomChild2->px());
275 fTrueMomentumChild2->SetY(aMomChild2->py());
276 fTrueMomentumChild2->SetZ(aMomChild2->pz());
277 fTrueMomentumChild2->SetT(aMomChild2->e());
a329d65b 278 }
279 else {
280 fTrueMomentumChild2 = new AliFemtoLorentzVector(*aMomChild2);
281 }
282}
283//_____________________________________________
284void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(const AliFemtoLorentzVector& aMomChild2)
285{
01daf251 286 // Set momentum from vector and energy
a329d65b 287 if (fTrueMomentumChild2) {
01daf251 288 fTrueMomentumChild2->SetX(aMomChild2.px());
289 fTrueMomentumChild2->SetY(aMomChild2.py());
290 fTrueMomentumChild2->SetZ(aMomChild2.pz());
291 fTrueMomentumChild2->SetT(aMomChild2.e());
a329d65b 292 }
293 else {
294 fTrueMomentumChild2 = new AliFemtoLorentzVector();
295 *fTrueMomentumChild2 = aMomChild2;
296 }
297}
298//_____________________________________________
299void AliFemtoModelAllHiddenInfo::SetTrueMomentumChild2(Double_t aChild2Px, Double_t aChild2Py, Double_t aChild2Pz, Double_t aChild2E)
300{
01daf251 301 // Set momentum from components and energy
a329d65b 302 if (!fTrueMomentumChild2) fTrueMomentumChild2 = new AliFemtoLorentzVector();
01daf251 303 fTrueMomentumChild2->SetX(aChild2Px);
304 fTrueMomentumChild2->SetY(aChild2Py);
305 fTrueMomentumChild2->SetZ(aChild2Pz);
306 fTrueMomentumChild2->SetT(aChild2E);
a329d65b 307}
308//_____________________________________________
309// Child1 PID
310//_____________________________________________
311void AliFemtoModelAllHiddenInfo::SetPDGPidChild1(Int_t aPidChild1)
312{
313 fPDGPidMother = aPidChild1;
314}
315//_____________________________________________
316// Child2 PID
317//_____________________________________________
318void AliFemtoModelAllHiddenInfo::SetPDGPidChild2(Int_t aPidChild2)
319{
320 fPDGPidMother = aPidChild2;
321}
322//
323// RETURN COPY
324//
325//_____________________________________________
326 AliFemtoModelHiddenInfo* AliFemtoModelAllHiddenInfo::GetParticleHiddenInfo() const
327{
328 // return copy of this hidden info
329 AliFemtoModelAllHiddenInfo* tBuf = new AliFemtoModelAllHiddenInfo(*this);
330 return tBuf;
331}