]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.h
Add correct AliFemtoFsiTools.F file
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / 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_H
10 #define ALIFEMTOMODELHIDDENINFO_H
11
12 #include <TH1D.h>
13 #include "AliFemtoTypes.h"
14 #include "AliFemtoThreeVector.h"
15 #include "AliFemtoLorentzVector.h"
16 #include "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* Clone() const;
43   
44  protected:
45   virtual AliFemtoHiddenInfo* GetParticleHiddenInfo() const;
46
47   AliFemtoThreeVector   *fTrueMomentum;  // True (simulated) momentum
48   AliFemtoLorentzVector *fEmissionPoint; // Emission point coordinates
49   Int_t                  fPDGPid;        // True PID of the particle
50   Double_t               fMass;          // True particle mass
51 };
52 //_______________________________________
53 inline AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::Clone() const{
54   // return exact copy of this hidden info
55   return GetParticleHiddenInfo();
56 }
57
58 #endif