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 using namespace std;
17 
18 class TClonesArray;
19 class PndHypGePoint;
20 // class PndHypGesciPoint;
21 class FairVolume;
22 
23 class PndHypGe : public FairDetector {
24 
25  public:
27  PndHypGe();
28 
33  PndHypGe(const char *name, Bool_t active);
34 
36  virtual ~PndHypGe();
37 
41  virtual void Initialize();
42 
50  virtual Bool_t ProcessHits(FairVolume *vol = 0);
51 
57  virtual void EndOfEvent();
58 
59  virtual void BeginEvent();
64  virtual void Register();
65 
67  virtual TClonesArray *GetCollection(Int_t iColl) const;
68 
73  virtual void Print() const;
74 
79  virtual void Reset();
80 
88  virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset);
89 
94  virtual void ConstructGeometry();
95 
96  void ConstructHPGeGeometry();
97 
98  PndHypGePoint *AddHit(Int_t trackID, Int_t evtID, Int_t pdgCode, Int_t charge, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Short_t copy);
99 
100  PndHypGePoint *AddGeAlHit(Int_t trackID, Int_t evtID, Int_t pdgCode, Int_t charge, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss, Short_t copy);
101 
104  void SetDisIP(Double_t dist)
105  {
106  fdist = dist; // cm
107  }
108 
109  void SetPathGeo(TString pgeo) { fPathGeo = pgeo.Data(); }
110 
111  private:
112  std::vector<std::string> fListOfSensitives;
113  bool CheckIfSensitive(std::string name);
114 
115  // PndGeoHypGePar *par;
116  Int_t fpdgCode;
117  Int_t fcharge;
118 
119  Int_t fTrackID; // track index
120  Int_t fVolumeID; // volume id
121  Int_t fEventID; // event id
122  TLorentzVector fPos; // position
123  TLorentzVector fMom; // momentum
124  Double32_t fTime; // time
125  Double32_t fLength; // length
126  Double32_t fELoss; // energy loss
127  Int_t fPosIndex; //
128  Short_t fnCopy;
129  Double_t fdist;
130  TString fPathGeo;
131 
132  // Int_t volDetector; // MC volume ID of MUO
133 
134  TClonesArray *fHypGeCollection; // Hit collection
135  TClonesArray *fHypGeAlCollection; // Hit collection
136  // TClonesArray* fHypGecapCollection; // Hit collection
137  // reset all parameters
138  void ResetParameters();
139 
140  ClassDef(PndHypGe, 3)
141 };
142 
143 #endif
STL namespace.
void SetDisIP(Double_t dist)
Definition: PndHypGe.h:104
void SetPathGeo(TString pgeo)
Definition: PndHypGe.h:109