]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoModelHiddenInfo.h
added extraction of V0s origin
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoModelHiddenInfo.h
CommitLineData
76ce4b5b 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
18class AliFemtoModelHiddenInfo : public AliFemtoHiddenInfo{
19
20public:
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;
acc1ca78 29 Int_t GetMotherPdgCode() const;
76ce4b5b 30 Double_t GetMass() const;
31
ce7b3d98 32 AliFemtoThreeVector *GetTrueMomentumPos() const;
33 AliFemtoLorentzVector *GetEmissionPointPos() const;
34 Int_t GetPDGPidPos() const;
35 Double_t GetMassPos() const;
36
37 AliFemtoThreeVector *GetTrueMomentumNeg() const;
38 AliFemtoLorentzVector *GetEmissionPointNeg() const;
39 Int_t GetPDGPidNeg() const;
40 Double_t GetMassNeg() const;
41
76ce4b5b 42 void SetTrueMomentum(AliFemtoThreeVector *aMom);
43 void SetTrueMomentum(const AliFemtoThreeVector& aMom);
44 void SetTrueMomentum(Double_t aPx, Double_t aPy, Double_t aPz);
45 void SetEmissionPoint(AliFemtoLorentzVector *aPos);
46 void SetEmissionPoint(const AliFemtoLorentzVector& aPos);
47 void SetEmissionPoint(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT);
48 void SetPDGPid(Int_t aPid);
acc1ca78 49 void SetMotherPdgCode(Int_t motherPdg);
76ce4b5b 50 void SetMass(Double_t aMass);
51
ce7b3d98 52 void SetTrueMomentumPos(AliFemtoThreeVector *aMom);
53 void SetTrueMomentumPos(const AliFemtoThreeVector& aMom);
54 void SetTrueMomentumPos(Double_t aPx, Double_t aPy, Double_t aPz);
55 void SetEmissionPointPos(AliFemtoLorentzVector *aPos);
56 void SetEmissionPointPos(const AliFemtoLorentzVector& aPos);
57 void SetEmissionPointPos(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT);
58 void SetPDGPidPos(Int_t aPid);
59 void SetMassPos(Double_t aMass);
60
61 void SetTrueMomentumNeg(AliFemtoThreeVector *aMom);
62 void SetTrueMomentumNeg(const AliFemtoThreeVector& aMom);
63 void SetTrueMomentumNeg(Double_t aPx, Double_t aPy, Double_t aPz);
64 void SetEmissionPointNeg(AliFemtoLorentzVector *aPos);
65 void SetEmissionPointNeg(const AliFemtoLorentzVector& aPos);
66 void SetEmissionPointNeg(Double_t aRx, Double_t aRy, Double_t aRz, Double_t aT);
67 void SetPDGPidNeg(Int_t aPid);
68 void SetMassNeg(Double_t aMass);
69
76ce4b5b 70// !!! MANDATORY !!!
71// --- Copy the hidden info from AliFemtoTrack to AliFemtoParticle
72 virtual AliFemtoHiddenInfo* Clone() const;
acc1ca78 73
76ce4b5b 74 protected:
75 virtual AliFemtoHiddenInfo* GetParticleHiddenInfo() const;
76
77 AliFemtoThreeVector *fTrueMomentum; // True (simulated) momentum
78 AliFemtoLorentzVector *fEmissionPoint; // Emission point coordinates
79 Int_t fPDGPid; // True PID of the particle
acc1ca78 80 Int_t fMotherPdg; // PDG code of particle's mother
76ce4b5b 81 Double_t fMass; // True particle mass
ce7b3d98 82
83 //daughter particles
84 AliFemtoThreeVector *fTrueMomentumPos; // True (simulated) momentum of positive daughter
85 AliFemtoLorentzVector *fEmissionPointPos; // Emission point coordinates of positive daughter
86 Int_t fPDGPidPos; // True PID of positive daughter
87 Double_t fMassPos; // True particle mass of positive daughter
88
89 AliFemtoThreeVector *fTrueMomentumNeg; // True (simulated) momentum of negative daughter
90 AliFemtoLorentzVector *fEmissionPointNeg; // Emission point coordinates of negative daughter
91 Int_t fPDGPidNeg; // True PID of negative daughter
92 Double_t fMassNeg; // True particle mass of negative daughter
76ce4b5b 93};
94//_______________________________________
95inline AliFemtoHiddenInfo* AliFemtoModelHiddenInfo::Clone() const{
96 // return exact copy of this hidden info
97 return GetParticleHiddenInfo();
98}
99
100#endif