]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.cxx
Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoModelHiddenInfo.cxx
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 #include "AliFemtoModelHiddenInfo.h"
9
10 //_____________________________________________
11 AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo() :
12   fTrueMomentum(0),
13   fEmissionPoint(0),
14   fPDGPid(0),
15   fMass(0)
16 {
17   // Default constructor
18 }
19 //_____________________________________________
20 AliFemtoModelHiddenInfo::AliFemtoModelHiddenInfo(const AliFemtoModelHiddenInfo &aInfo) :
21   AliFemtoHiddenInfo(aInfo),
22   fTrueMomentum(0),
23   fEmissionPoint(0),
24   fPDGPid(0),
25   fMass(0)
26 {
27   // Copy constructor
28   if (aInfo.GetTrueMomentum())
29     SetTrueMomentum(aInfo.GetTrueMomentum());
30   if (aInfo.GetEmissionPoint())
31     SetEmissionPoint(aInfo.GetEmissionPoint());
32   fPDGPid = aInfo.GetPDGPid();
33   fMass = aInfo.GetMass();
34 }
35 //_____________________________________________
36 AliFemtoModelHiddenInfo::~AliFemtoModelHiddenInfo()
37 {
38   // Destructor
39   if (fTrueMomentum) delete fTrueMomentum;
40   if (fEmissionPoint) delete fEmissionPoint;
41 }
42 //_____________________________________________
43 AliFemtoModelHiddenInfo& AliFemtoModelHiddenInfo::operator=(const AliFemtoModelHiddenInfo& aInfo)
44 {
45   // assignment operator
46   if (this == &aInfo)
47     return *this;
48
49   if (fTrueMomentum) delete fTrueMomentum;
50   if (aInfo.GetTrueMomentum())
51     SetTrueMomentum(aInfo.GetTrueMomentum());
52   else SetTrueMomentum(0);
53   if (fEmissionPoint) delete fEmissionPoint;
54   if (aInfo.GetEmissionPoint())
55     SetEmissionPoint(aInfo.GetEmissionPoint());
56   else SetEmissionPoint(0);
57   fPDGPid = aInfo.GetPDGPid();
58   fMass = aInfo.GetMass();
59
60   return *this;
61 }
62 //_____________________________________________
63 AliFemtoThreeVector   *AliFemtoModelHiddenInfo::GetTrueMomentum() const
64 {
65   return fTrueMomentum;
66 }
67 //_____________________________________________
68 AliFemtoLorentzVector *AliFemtoModelHiddenInfo::GetEmissionPoint() const
69 {
70   return fEmissionPoint;
71 }
72 //_____________________________________________
73 Int_t                  AliFemtoModelHiddenInfo::GetPDGPid() const
74 {
75   return fPDGPid;
76 }
77 //_____________________________________________
78 Double_t                  AliFemtoModelHiddenInfo::GetMass() const
79 {
80   return fMass;
81 }
82 //_____________________________________________
83 void                   AliFemtoModelHiddenInfo::SetTrueMomentum(AliFemtoThreeVector *aMom)
84 {
85   // Set momentum from vector
86   if (fTrueMomentum) {
87     fTrueMomentum->SetX(aMom->x());
88     fTrueMomentum->SetY(aMom->y());
89     fTrueMomentum->SetZ(aMom->z());
90   }
91   else {
92     fTrueMomentum = new AliFemtoThreeVector(*aMom);
93   }
94 }
95 //_____________________________________________
96 void                   AliFemtoModelHiddenInfo::SetTrueMomentum(const AliFemtoThreeVector& aMom)
97 {
98   // Set momentum from vector
99   if (fTrueMomentum) {
100     fTrueMomentum->SetX(aMom.x());
101     fTrueMomentum->SetY(aMom.y());
102     fTrueMomentum->SetZ(aMom.z());
103   }
104   else {
105     fTrueMomentum = new AliFemtoThreeVector();
106     *fTrueMomentum = aMom;
107   }
108 }
109 //_____________________________________________
110 void                   AliFemtoModelHiddenInfo::SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz)
111 {
112   // Set momentum from components
113   if (!fTrueMomentum) fTrueMomentum = new AliFemtoThreeVector();
114     fTrueMomentum->SetX(aPx);
115     fTrueMomentum->SetY(aPy);
116     fTrueMomentum->SetZ(aPz);
117 }
118 //_____________________________________________
119 void                   AliFemtoModelHiddenInfo::SetEmissionPoint(AliFemtoLorentzVector *aPos)
120 {
121   // Set position from vector
122   if (fEmissionPoint) {
123     fEmissionPoint->SetX(aPos->px());
124     fEmissionPoint->SetY(aPos->py());
125     fEmissionPoint->SetZ(aPos->pz());
126     fEmissionPoint->SetT(aPos->e());
127   }
128   else {
129     fEmissionPoint = new AliFemtoLorentzVector(*aPos);
130   }
131 }
132 //_____________________________________________
133 void                   AliFemtoModelHiddenInfo::SetEmissionPoint(const AliFemtoLorentzVector& aPos)
134 {
135   // Set position from vector
136   if (fEmissionPoint) {
137     fEmissionPoint->SetX(aPos.px());
138     fEmissionPoint->SetY(aPos.py());
139     fEmissionPoint->SetZ(aPos.pz());
140     fEmissionPoint->SetT(aPos.e());
141   }
142   else {
143     fEmissionPoint = new AliFemtoLorentzVector();
144     *fEmissionPoint = aPos;
145   }
146 }
147 //_____________________________________________
148 void                   AliFemtoModelHiddenInfo::SetPDGPid(Int_t aPid)
149 {
150   fPDGPid = aPid;
151 }
152 //_____________________________________________
153 void                   AliFemtoModelHiddenInfo::SetMass(Double_t aMass)
154 {
155   fMass = aMass;
156 }
157 //_____________________________________________
158 void                   AliFemtoModelHiddenInfo::SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
159 {
160   // Set position from components
161   if (fEmissionPoint) {
162     fEmissionPoint->SetX(aRx);
163     fEmissionPoint->SetY(aRy);
164     fEmissionPoint->SetZ(aRz);
165     fEmissionPoint->SetT(aT);
166   }
167   else {
168     fEmissionPoint = new AliFemtoLorentzVector(aRx, aRy, aRz, aT); 
169   }
170 }
171 //_____________________________________________
172  AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::GetParticleHiddenInfo() const
173 {
174   // return copy of this hidden info
175   AliFemtoModelHiddenInfo* tBuf = new AliFemtoModelHiddenInfo(*this);
176   return tBuf;
177 }