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) :
27 if (aInfo.GetTrueMomentum())
28 SetTrueMomentum(aInfo.GetTrueMomentum());
29 if (aInfo.GetEmissionPoint())
30 SetEmissionPoint(aInfo.GetEmissionPoint());
31 fPDGPid = aInfo.GetPDGPid();
32 fMass = aInfo.GetMass();
34 //_____________________________________________
35 AliFemtoModelHiddenInfo::~AliFemtoModelHiddenInfo()
38 if (fTrueMomentum) delete fTrueMomentum;
39 if (fEmissionPoint) delete fEmissionPoint;
41 //_____________________________________________
42 AliFemtoModelHiddenInfo& AliFemtoModelHiddenInfo::operator=(const AliFemtoModelHiddenInfo& aInfo)
44 // assignment operator
48 if (aInfo.GetTrueMomentum())
49 SetTrueMomentum(aInfo.GetTrueMomentum());
50 else SetTrueMomentum(0);
51 if (aInfo.GetEmissionPoint())
52 SetEmissionPoint(aInfo.GetEmissionPoint());
53 else SetEmissionPoint(0);
54 fPDGPid = aInfo.GetPDGPid();
55 fMass = aInfo.GetMass();
59 //_____________________________________________
60 AliFemtoThreeVector *AliFemtoModelHiddenInfo::GetTrueMomentum() const
64 //_____________________________________________
65 AliFemtoLorentzVector *AliFemtoModelHiddenInfo::GetEmissionPoint() const
67 return fEmissionPoint;
69 //_____________________________________________
70 Int_t AliFemtoModelHiddenInfo::GetPDGPid() const
74 //_____________________________________________
75 Double_t AliFemtoModelHiddenInfo::GetMass() const
79 //_____________________________________________
80 void AliFemtoModelHiddenInfo::SetTrueMomentum(AliFemtoThreeVector *aMom)
82 // set momentum from vector
84 fTrueMomentum->setX(aMom->x());
85 fTrueMomentum->setY(aMom->y());
86 fTrueMomentum->setZ(aMom->z());
89 fTrueMomentum = new AliFemtoThreeVector(*aMom);
92 //_____________________________________________
93 void AliFemtoModelHiddenInfo::SetTrueMomentum(const AliFemtoThreeVector& aMom)
95 // set momentum from vector
97 fTrueMomentum->setX(aMom.x());
98 fTrueMomentum->setY(aMom.y());
99 fTrueMomentum->setZ(aMom.z());
102 fTrueMomentum = new AliFemtoThreeVector();
103 *fTrueMomentum = aMom;
106 //_____________________________________________
107 void AliFemtoModelHiddenInfo::SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz)
109 // set momentum from components
110 if (!fTrueMomentum) fTrueMomentum = new AliFemtoThreeVector();
111 fTrueMomentum->setX(aPx);
112 fTrueMomentum->setY(aPy);
113 fTrueMomentum->setZ(aPz);
115 //_____________________________________________
116 void AliFemtoModelHiddenInfo::SetEmissionPoint(AliFemtoLorentzVector *aPos)
118 // set position from vector
119 if (fEmissionPoint) {
120 fEmissionPoint->setX(aPos->px());
121 fEmissionPoint->setY(aPos->py());
122 fEmissionPoint->setZ(aPos->pz());
123 fEmissionPoint->setT(aPos->e());
126 fEmissionPoint = new AliFemtoLorentzVector(*aPos);
129 //_____________________________________________
130 void AliFemtoModelHiddenInfo::SetEmissionPoint(const AliFemtoLorentzVector& aPos)
132 // set position from vector
133 if (fEmissionPoint) {
134 fEmissionPoint->setX(aPos.px());
135 fEmissionPoint->setY(aPos.py());
136 fEmissionPoint->setZ(aPos.pz());
137 fEmissionPoint->setT(aPos.e());
140 fEmissionPoint = new AliFemtoLorentzVector();
141 *fEmissionPoint = aPos;
144 //_____________________________________________
145 void AliFemtoModelHiddenInfo::SetPDGPid(Int_t aPid)
149 //_____________________________________________
150 void AliFemtoModelHiddenInfo::SetMass(Double_t aMass)
154 //_____________________________________________
155 void AliFemtoModelHiddenInfo::SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
157 // set position from components
158 fEmissionPoint->setX(aRx);
159 fEmissionPoint->setY(aRy);
160 fEmissionPoint->setZ(aRz);
161 fEmissionPoint->setT(aT);
163 //_____________________________________________
164 AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::GetParticleHiddenInfo() const
166 // return copy of this hidden info
167 AliFemtoModelHiddenInfo* tBuf = new AliFemtoModelHiddenInfo(*this);