]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelGlobalHiddenInfo.cxx
fe6157e76bb02190de540a90bb2a6e3b7dc1bc08
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoModelGlobalHiddenInfo.cxx
1 ////////////////////////////////////////////////////////////////////////////////
2 ///                                                                          ///
3 /// AliFemtoModelGlobalHiddenInfo - 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 "AliFemtoModelGlobalHiddenInfo.h"
9
10 //_____________________________________________
11 AliFemtoModelGlobalHiddenInfo::AliFemtoModelGlobalHiddenInfo() :
12   AliFemtoModelHiddenInfo(),
13   fGlobalEmissionPoint(0)
14 {
15   // Default constructor
16 }
17 //_____________________________________________
18 AliFemtoModelGlobalHiddenInfo::AliFemtoModelGlobalHiddenInfo(const AliFemtoModelGlobalHiddenInfo &aInfo) :
19   AliFemtoModelHiddenInfo(aInfo),
20   fGlobalEmissionPoint(0)
21 {
22   // Copy constructor
23   if (aInfo.GetGlobalEmissionPoint())
24     SetGlobalEmissionPoint((*aInfo.GetGlobalEmissionPoint()));
25 }
26 //_____________________________________________
27 AliFemtoModelGlobalHiddenInfo::~AliFemtoModelGlobalHiddenInfo()
28 {
29   // Destructor
30   if (fTrueMomentum) delete fTrueMomentum;
31   if (fEmissionPoint) delete fEmissionPoint;
32   if (fGlobalEmissionPoint) delete fGlobalEmissionPoint;
33 }
34 //_____________________________________________
35 AliFemtoModelGlobalHiddenInfo& AliFemtoModelGlobalHiddenInfo::operator=(const AliFemtoModelGlobalHiddenInfo& aInfo)
36 {
37   // assignment operator
38   if (this == &aInfo)
39     return *this;
40
41   if (aInfo.GetTrueMomentum())
42     SetTrueMomentum(aInfo.GetTrueMomentum());
43   else SetTrueMomentum(0);
44   if (aInfo.GetEmissionPoint())
45     SetEmissionPoint(aInfo.GetEmissionPoint());
46   if (aInfo.GetGlobalEmissionPoint())
47     SetGlobalEmissionPoint(*aInfo.GetGlobalEmissionPoint());
48   else SetEmissionPoint(0);
49   fPDGPid = aInfo.GetPDGPid();
50   fMass = aInfo.GetMass();
51
52   return *this;
53 }
54 //_____________________________________________
55 AliFemtoThreeVector *AliFemtoModelGlobalHiddenInfo::GetGlobalEmissionPoint() const
56 {
57   return fGlobalEmissionPoint;
58 }
59 //_____________________________________________
60 void                   AliFemtoModelGlobalHiddenInfo::SetGlobalEmissionPoint(const AliFemtoThreeVector& aPos)
61 {
62   // set position from vector
63   if (fGlobalEmissionPoint) {
64     fGlobalEmissionPoint->setX(aPos.x());
65     fGlobalEmissionPoint->setY(aPos.y());
66     fGlobalEmissionPoint->setZ(aPos.z());
67   }
68   else {
69     fGlobalEmissionPoint = new AliFemtoThreeVector();
70     *fGlobalEmissionPoint = aPos;
71   }
72 }
73 //_____________________________________________
74 void                   AliFemtoModelGlobalHiddenInfo::SetGlobalEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz)
75 {
76   // set position from components
77   if (fGlobalEmissionPoint) {
78     fGlobalEmissionPoint->setX(aRx);
79     fGlobalEmissionPoint->setY(aRy);
80     fGlobalEmissionPoint->setZ(aRz);
81   }
82   else {
83     fGlobalEmissionPoint = new AliFemtoThreeVector(aRx, aRy, aRz); 
84   }
85 }
86 //_____________________________________________
87  AliFemtoHiddenInfo* AliFemtoModelGlobalHiddenInfo::GetParticleHiddenInfo() const
88 {
89   // return copy of this hidden info
90   AliFemtoModelGlobalHiddenInfo* tBuf = new AliFemtoModelGlobalHiddenInfo(*this);
91   return tBuf;
92 }