BmnRoot
Loading...
Searching...
No Matches
BmnFD.h
Go to the documentation of this file.
1
2#ifndef BMNFD_H
3#define BMNFD_H
4
5#include "FairDetector.h"
6#include "TClonesArray.h"
7#include "TVector3.h"
8#include "TLorentzVector.h"
9#include "FairDetector.h"
10#include "BmnFDGeoPar.h"
11#include "TVirtualMC.h"
12#include "TParticle.h"
13
14using namespace std;
15
16
17class TClonesArray;
18class BmnFDPoint;
19class FairVolume;
20
21class BmnFD : public FairDetector
22{
23
24 public:
25
28
29
34 BmnFD(const char* name, Bool_t active);
35
36
38 virtual ~BmnFD();
39
40
44 virtual void Initialize();
45
46
54 virtual Bool_t ProcessHits(FairVolume* vol = 0);
55
56
62 virtual void EndOfEvent();
63
64
65 virtual void BeginEvent();
70 virtual void Register();
71
72
74 virtual TClonesArray* GetCollection(Int_t iColl) const;
75
76
81 virtual void Print(Option_t*) const;
82
83
88 virtual void Reset();
89
90
98 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2,
99 Int_t offset);
100
101
105 virtual void ConstructGeometry();
106
108 virtual Bool_t CheckIfSensitive(std::string name);
109
110 BmnFDPoint* AddHit(Int_t trackID, Int_t detID, Int_t copyNo,
111 TVector3 posIn, TVector3 posOut,
112 TVector3 momIn, TVector3 momOut,
113 Double_t tof, Double_t length, Double_t eLoss,
114 Bool_t isPrimary, Double_t charge, Int_t pdgId, Double_t lightYield,
115 Double_t timeIn, Double_t timeOut, Double_t lengthtrack);
116
117 private:
118 Int_t fTrackID;
119 Int_t fVolumeID;
120 //Int_t fEventID; //! event id
121 TVector3 fPosIn;
122 TVector3 fPosOut;
123 TVector3 fMomIn;
124 TVector3 fMomOut;
125 Double32_t fTime;
126 Double32_t fLength;
127 Double32_t fELoss;
128 Int_t fPosIndex;
129 Int_t volDetector;
130 Int_t fIsPrimary;
131 Double_t fCharge;
132 Int_t fPdgId;
133 Float_t fLightYield;
134 TClonesArray* fFDCollection;
135 Double32_t fTimeIn;
136 Double32_t fTimeOut;
137 Double32_t fLengthtrack;
138
139
140 // reset all parameters
141 void ResetParameters();
142
143 ClassDef(BmnFD,2)
144
145};
146
147
148//------------------------------------------------------------------------------------------------------------------------
149inline void BmnFD::ResetParameters()
150{
151 fTrackID = fVolumeID = 0;
152 fPosIn.SetXYZ(0.0, 0.0, 0.0);
153 fPosOut.SetXYZ(0.0, 0.0, 0.0);
154 fMomIn.SetXYZ(0.0, 0.0, 0.0);
155 fMomOut.SetXYZ(0.0, 0.0, 0.0);
156 fTime = fLength = fELoss = 0;
157 fTimeIn = fTimeOut = 0;
158 fLengthtrack = 0;
159 fPosIndex = 0;
160 fLightYield = 0;
161 };
162//------------------------------------------------------------------------------------------------------------------------
163
164#endif
Definition BmnFD.h:22
virtual void Register()
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
virtual void Print(Option_t *) const
virtual Bool_t CheckIfSensitive(std::string name)
virtual void EndOfEvent()
virtual void Initialize()
virtual Bool_t ProcessHits(FairVolume *vol=0)
virtual void ConstructGeometry()
BmnFD(const char *name, Bool_t active)
virtual void ConstructAsciiGeometry()
virtual void Reset()
virtual ~BmnFD()
virtual void BeginEvent()
BmnFDPoint * AddHit(Int_t trackID, Int_t detID, Int_t copyNo, TVector3 posIn, TVector3 posOut, TVector3 momIn, TVector3 momOut, Double_t tof, Double_t length, Double_t eLoss, Bool_t isPrimary, Double_t charge, Int_t pdgId, Double_t lightYield, Double_t timeIn, Double_t timeOut, Double_t lengthtrack)
virtual TClonesArray * GetCollection(Int_t iColl) const
STL namespace.