]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoModelGlobalHiddenInfo.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / 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 (fTrueMomentum) delete fTrueMomentum;
42   if (aInfo.GetTrueMomentum())
43     SetTrueMomentum(aInfo.GetTrueMomentum());
44   else SetTrueMomentum(0);
45   if (fEmissionPoint) delete fEmissionPoint;
46   if (aInfo.GetEmissionPoint())
47     SetEmissionPoint(aInfo.GetEmissionPoint());
48   else SetEmissionPoint(0);
49   if (fGlobalEmissionPoint) delete fGlobalEmissionPoint;
50   if (aInfo.GetGlobalEmissionPoint())
51     SetGlobalEmissionPoint(*aInfo.GetGlobalEmissionPoint());
52   else fGlobalEmissionPoint = 0;
53   fPDGPid = aInfo.GetPDGPid();
54   fMass = aInfo.GetMass();
55
56   return *this;
57 }
58 //_____________________________________________
59 AliFemtoThreeVector *AliFemtoModelGlobalHiddenInfo::GetGlobalEmissionPoint() const
60 {
61   return fGlobalEmissionPoint;
62 }
63 //_____________________________________________
64 void                   AliFemtoModelGlobalHiddenInfo::SetGlobalEmissionPoint(const AliFemtoThreeVector& aPos)
65 {
66   // set position from vector
67   if (fGlobalEmissionPoint) {
68     fGlobalEmissionPoint->SetX(aPos.x());
69     fGlobalEmissionPoint->SetY(aPos.y());
70     fGlobalEmissionPoint->SetZ(aPos.z());
71   }
72   else {
73     fGlobalEmissionPoint = new AliFemtoThreeVector();
74     *fGlobalEmissionPoint = aPos;
75   }
76 }
77 //_____________________________________________
78 void                   AliFemtoModelGlobalHiddenInfo::SetGlobalEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz)
79 {
80   // Set position from components
81   if (fGlobalEmissionPoint) {
82     fGlobalEmissionPoint->SetX(aRx);
83     fGlobalEmissionPoint->SetY(aRy);
84     fGlobalEmissionPoint->SetZ(aRz);
85   }
86   else {
87     fGlobalEmissionPoint = new AliFemtoThreeVector(aRx, aRy, aRz); 
88   }
89 }
90 //_____________________________________________
91  AliFemtoHiddenInfo* AliFemtoModelGlobalHiddenInfo::GetParticleHiddenInfo() const
92 {
93   // return copy of this hidden info
94   AliFemtoModelGlobalHiddenInfo* tBuf = new AliFemtoModelGlobalHiddenInfo(*this);
95   return tBuf;
96 }