FairRoot/PandaRoot
PndHypGe.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmHypGe header file -----
3 
4 // -------------------------------------------------------------------------
5 
6 #ifndef PNDHYPGE_H
7 #define PNDHYPGE_H
8 
9 #include "TClonesArray.h"
10 #include "TVector3.h"
11 #include "TLorentzVector.h"
12 #include "FairDetector.h"
13 //#include "PndGeoHypGePar.h"
14 //#include "GeCluster.h"
15 
16 
17 
18 using namespace std;
19 
20 
21 class TClonesArray;
22 class PndHypGePoint;
23 //class PndHypGesciPoint;
24 class FairVolume;
25 
26 class PndHypGe : public FairDetector
27 {
28 
29  public:
30 
32  PndHypGe();
33 
34 
39  PndHypGe(const char* name, Bool_t active);
40 
41 
43  virtual ~PndHypGe();
44 
45 
49  virtual void Initialize();
50 
51 
59  virtual Bool_t ProcessHits(FairVolume* vol = 0);
60 
61 
67  virtual void EndOfEvent();
68 
69 
70  virtual void BeginEvent();
75  virtual void Register();
76 
77 
79  virtual TClonesArray* GetCollection(Int_t iColl) const;
80 
81 
86  virtual void Print() const;
87 
88 
93  virtual void Reset();
94 
95 
103  virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2,
104  Int_t offset);
105 
106 
113  virtual void ConstructGeometry();
114 
115 
116  void ConstructHPGeGeometry();
117 
118 
119  PndHypGePoint* AddHit(Int_t trackID, Int_t evtID, Int_t pdgCode,
120  Int_t charge,TVector3 pos, TVector3 mom,
121  Double_t tof, Double_t length, Double_t eLoss,
122  Short_t copy);
123 
124  PndHypGePoint* AddGeAlHit(Int_t trackID, Int_t evtID, Int_t pdgCode,
125  Int_t charge,TVector3 pos, TVector3 mom,
126  Double_t tof, Double_t length, Double_t eLoss,
127  Short_t copy);
128 
131  void SetDisIP(Double_t dist)
132  {
133  fdist = dist; // cm
134  }
135 
136  void SetPathGeo(TString pgeo)
137  {
138  fPathGeo = pgeo.Data();
139  }
140 
141  private:
142 
143  std::vector<std::string> fListOfSensitives;
144  bool CheckIfSensitive(std::string name);
145 
146  // PndGeoHypGePar *par;
147  Int_t fpdgCode;
148  Int_t fcharge;
149 
150  Int_t fTrackID; // track index
151  Int_t fVolumeID; // volume id
152  Int_t fEventID; // event id
153  TLorentzVector fPos; // position
154  TLorentzVector fMom; // momentum
155  Double32_t fTime; // time
156  Double32_t fLength; // length
157  Double32_t fELoss; // energy loss
158  Int_t fPosIndex; //
159  Short_t fnCopy;
162 
163  //Int_t volDetector; // MC volume ID of MUO
164 
165  TClonesArray* fHypGeCollection; // Hit collection
166  TClonesArray* fHypGeAlCollection; // Hit collection
167  //TClonesArray* fHypGecapCollection; // Hit collection
168  // reset all parameters
169  void ResetParameters();
170 
171  ClassDef(PndHypGe,3)
172 
173 };
174 
175 
176 #endif
MechFsc Print()
TVector3 pos
Double32_t fELoss
Definition: PndHypGe.h:157
TLorentzVector fPos
Definition: PndHypGe.h:153
TClonesArray * fHypGeCollection
Definition: PndHypGe.h:165
Double_t mom
Definition: plot_dirc.C:14
TVector3 offset(2, 0, 0)
Double32_t fTime
Definition: PndHypGe.h:155
Int_t fPosIndex
Definition: PndHypGe.h:158
TClonesArray * fHypGeAlCollection
Definition: PndHypGe.h:166
Double_t
std::vector< std::string > fListOfSensitives
Definition: PndHypGe.h:143
Double32_t fLength
Definition: PndHypGe.h:156
TString fPathGeo
Definition: PndHypGe.h:161
Int_t fpdgCode
Definition: PndHypGe.h:147
Int_t fEventID
Definition: PndHypGe.h:152
Int_t fVolumeID
Definition: PndHypGe.h:151
TString name
Short_t fnCopy
Definition: PndHypGe.h:159
TLorentzVector fMom
Definition: PndHypGe.h:154
void SetDisIP(Double_t dist)
Definition: PndHypGe.h:131
Int_t fcharge
Definition: PndHypGe.h:148
Double_t fdist
Definition: PndHypGe.h:160
Int_t fTrackID
Definition: PndHypGe.h:150
Mvd Initialize()
void SetPathGeo(TString pgeo)
Definition: PndHypGe.h:136
gROOT Reset()