StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StHbtEvtGenHiddenInfo.hh
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Laurent Conin, Fabrice Retiere, Subatech, France
6  ***************************************************************************
7  *
8  * Description : Carrier of the information needed for the FSI calculation
9  * This hidden info carry enough information to do the calculation :
10  * Freeze out momenta and emission space-time point. In addition the pid
11  * is kept. I could be used to account for missidentification effects.
12  *
13  ***************************************************************************
14  *
15  *
16  *
17  ***************************************************************************/
18 
19 #ifndef StHbtEvtGenHiddenInfo_hh
20 #define StHbtEvtGenHiddenInfo_hh
21 
22 #include "StHbtMaker/Base/StHbtHiddenInfo.hh"
23 #include "StHbtMaker/Infrastructure/StHbtTypes.hh"
24 
26 
27 public:
28 // --- Constructors
30  StHbtEvtGenHiddenInfo(const StHbtLorentzVector& aFreezeOutMomEn,
31  const int& aStatus, const int& aPdgPid)
32  :
33  mEmPoint(0,0,0,0),
34  mFreezeOutMomEn(aFreezeOutMomEn),
35  mStatus(aStatus),mPdgPid(aPdgPid),mPosHaveNotBeenModified(1)
36  {};
38  const StHbtLorentzVector& aFreezeOutMomEn,
39  const int& aStatus, const int& aPdgPid)
40  :
41  mEmPoint(aEmPoint),
42  mFreezeOutMomEn(aFreezeOutMomEn),
43  mStatus(aStatus),mPdgPid(aPdgPid),mPosHaveNotBeenModified(1)
44  {};
46  :
47  mEmPoint(aHiddenInfo.mEmPoint),
48  mFreezeOutMomEn(aHiddenInfo.mFreezeOutMomEn),
49  mStatus(aHiddenInfo.mStatus),
50  mPdgPid(aHiddenInfo.mPdgPid),mPosHaveNotBeenModified(1)
51  {};
52 // --- Destructor
53  virtual ~StHbtEvtGenHiddenInfo(){/* no-op */};
54 
55 // --- Setting (avoid construction)
56  void setEmPoint(const StHbtLorentzVector&);
57  void setFreezeOutMomEn(const StHbtLorentzVector&);
58  void setStatus(int);
59  void setPdgPid(int);
60  void setPid(int);
61 
62 // --- Return hidden info content
63  StHbtLorentzVector* getEmPoint();
64  StHbtLorentzVector* getFreezeOutMomEn();
65  const StHbtLorentzVector* getEmPoint() const;
66  const StHbtLorentzVector* getFreezeOutMomEn() const;
67  int getStatus() const;
68  int getPdgPid() const;
69  int getPid() const;
70  int posHaveNotBeenModified() const;
71  void setPosHaveBeenModified();
72 
73 // !!! MANDATORY !!!
74 // --- Copy the hidden info from StHbtTrack to StHbtParticle
75  virtual StHbtHiddenInfo* getParticleHiddenInfo() const;
76 
77 private:
78  StHbtLorentzVector mEmPoint;
79  StHbtLorentzVector mFreezeOutMomEn;
80  int mStatus;
81  int mPdgPid;
82  int mPosHaveNotBeenModified;
83 };
84 
85 inline StHbtLorentzVector* StHbtEvtGenHiddenInfo::getEmPoint()
86 {return &mEmPoint;}
87 inline StHbtLorentzVector* StHbtEvtGenHiddenInfo::getFreezeOutMomEn()
88 {return &mFreezeOutMomEn;}
89 inline const StHbtLorentzVector* StHbtEvtGenHiddenInfo::getEmPoint()
90 const {return &mEmPoint;}
91 inline const StHbtLorentzVector* StHbtEvtGenHiddenInfo::getFreezeOutMomEn()
92 const {return &mFreezeOutMomEn;}
93 inline int StHbtEvtGenHiddenInfo::getStatus() const {return mStatus;}
94 inline int StHbtEvtGenHiddenInfo::getPdgPid() const {return mPdgPid;}
95 inline int StHbtEvtGenHiddenInfo::getPid() const {return mPdgPid;}
96 inline void StHbtEvtGenHiddenInfo::setEmPoint(const StHbtLorentzVector& aEmPoint){
97 mEmPoint = aEmPoint;
98 }
99 inline void StHbtEvtGenHiddenInfo::setFreezeOutMomEn(const StHbtLorentzVector&
100  aFreezeOutMomEn){
101  mFreezeOutMomEn=aFreezeOutMomEn;
102 }
103 inline void StHbtEvtGenHiddenInfo::setStatus(int aStatus){
104  mStatus=aStatus;
105 }
106 inline void StHbtEvtGenHiddenInfo::setPdgPid(int aPdgPid){
107  mPdgPid=aPdgPid;
108 }
109 inline void StHbtEvtGenHiddenInfo::setPid(int aPdgPid){
110  mPdgPid=aPdgPid;
111 }
112 inline StHbtHiddenInfo* StHbtEvtGenHiddenInfo::getParticleHiddenInfo() const
113 {return new StHbtEvtGenHiddenInfo(mEmPoint,mFreezeOutMomEn,mStatus,mPdgPid);}
114 inline int StHbtEvtGenHiddenInfo::posHaveNotBeenModified() const{
115  return mPosHaveNotBeenModified;
116 }
117 inline void StHbtEvtGenHiddenInfo::setPosHaveBeenModified(){
118  mPosHaveNotBeenModified=0;
119 }
120 #endif