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 (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();
62 //_____________________________________________
63 AliFemtoThreeVector *AliFemtoModelHiddenInfo::GetTrueMomentum() const
67 //_____________________________________________
68 AliFemtoLorentzVector *AliFemtoModelHiddenInfo::GetEmissionPoint() const
70 return fEmissionPoint;
72 //_____________________________________________
73 Int_t AliFemtoModelHiddenInfo::GetPDGPid() const
77 //_____________________________________________
78 Double_t AliFemtoModelHiddenInfo::GetMass() const
82 //_____________________________________________
83 void AliFemtoModelHiddenInfo::SetTrueMomentum(AliFemtoThreeVector *aMom)
85 // Set momentum from vector
87 fTrueMomentum->SetX(aMom->x());
88 fTrueMomentum->SetY(aMom->y());
89 fTrueMomentum->SetZ(aMom->z());
92 fTrueMomentum = new AliFemtoThreeVector(*aMom);
95 //_____________________________________________
96 void AliFemtoModelHiddenInfo::SetTrueMomentum(const AliFemtoThreeVector& aMom)
98 // Set momentum from vector
100 fTrueMomentum->SetX(aMom.x());
101 fTrueMomentum->SetY(aMom.y());
102 fTrueMomentum->SetZ(aMom.z());
105 fTrueMomentum = new AliFemtoThreeVector();
106 *fTrueMomentum = aMom;
109 //_____________________________________________
110 void AliFemtoModelHiddenInfo::SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz)
112 // Set momentum from components
113 if (!fTrueMomentum) fTrueMomentum = new AliFemtoThreeVector();
114 fTrueMomentum->SetX(aPx);
115 fTrueMomentum->SetY(aPy);
116 fTrueMomentum->SetZ(aPz);
118 //_____________________________________________
119 void AliFemtoModelHiddenInfo::SetEmissionPoint(AliFemtoLorentzVector *aPos)
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());
129 fEmissionPoint = new AliFemtoLorentzVector(*aPos);
132 //_____________________________________________
133 void AliFemtoModelHiddenInfo::SetEmissionPoint(const AliFemtoLorentzVector& aPos)
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());
143 fEmissionPoint = new AliFemtoLorentzVector();
144 *fEmissionPoint = aPos;
147 //_____________________________________________
148 void AliFemtoModelHiddenInfo::SetPDGPid(Int_t aPid)
152 //_____________________________________________
153 void AliFemtoModelHiddenInfo::SetMass(Double_t aMass)
157 //_____________________________________________
158 void AliFemtoModelHiddenInfo::SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT)
160 // Set position from components
161 if (fEmissionPoint) {
162 fEmissionPoint->SetX(aRx);
163 fEmissionPoint->SetY(aRy);
164 fEmissionPoint->SetZ(aRz);
165 fEmissionPoint->SetT(aT);
168 fEmissionPoint = new AliFemtoLorentzVector(aRx, aRy, aRz, aT);
171 //_____________________________________________
172 AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::GetParticleHiddenInfo() const
174 // return copy of this hidden info
175 AliFemtoModelHiddenInfo* tBuf = new AliFemtoModelHiddenInfo(*this);