Fix AliFemtoModelFreezeOutGenerator undefined references
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / Model / AliFemtoModelHiddenInfo.h
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
9 #ifndef AliFemtoModelHiddenInfo_hh
10 #define AliFemtoModelHiddenInfo_hh
11
12 #include <TH1D.h>
13 #include "Infrastructure/AliFemtoTypes.h"
14 #include "Infrastructure/AliFemtoThreeVector.h"
15 #include "Infrastructure/AliFemtoLorentzVector.h"
16 #include "Base/AliFemtoHiddenInfo.h"
17
18 class AliFemtoModelHiddenInfo : public AliFemtoHiddenInfo{
19
20 public:
21   AliFemtoModelHiddenInfo();
22   AliFemtoModelHiddenInfo(const AliFemtoModelHiddenInfo &aInfo);
23   virtual ~AliFemtoModelHiddenInfo();
24
25   AliFemtoModelHiddenInfo& operator=(const AliFemtoModelHiddenInfo& aInfo);
26   AliFemtoThreeVector   *GetTrueMomentum() const;
27   AliFemtoLorentzVector *GetEmissionPoint() const;
28   Int_t                  GetPDGPid() const;
29   Double_t               GetMass() const;
30
31   void                   SetTrueMomentum(AliFemtoThreeVector *aMom);
32   void                   SetTrueMomentum(const AliFemtoThreeVector& aMom);
33   void                   SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz);
34   void                   SetEmissionPoint(AliFemtoLorentzVector *aPos);
35   void                   SetEmissionPoint(const AliFemtoLorentzVector& aPos);
36   void                   SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT);
37   void                   SetPDGPid(Int_t aPid);
38   void                   SetMass(Double_t aMass);
39
40 // !!! MANDATORY !!!
41 // --- Copy the hidden info from AliFemtoTrack to AliFemtoParticle
42   virtual AliFemtoHiddenInfo* getParticleHiddenInfo() const;
43   virtual AliFemtoHiddenInfo* clone() const;
44
45  protected:
46   AliFemtoThreeVector   *fTrueMomentum;  // True (simulated) momentum
47   AliFemtoLorentzVector *fEmissionPoint; // Emission point coordinates
48   Int_t                  fPDGPid;        // True PID of the particle
49   Double_t               fMass;
50 };
51 //_______________________________________
52 inline AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::clone() const{
53   // return exact copy of this hidden info
54   return getParticleHiddenInfo();
55 }
56
57 #endif