BmnRoot
Loading...
Searching...
No Matches
BmnBd.h
Go to the documentation of this file.
1#ifndef BMNBD_H
2#define BMNBD_H
3
4#include "BmnBdPoint.h"
5#include "FairDetector.h"
6
7
8class BmnBd : public FairDetector
9{
10 public:
13
18 BmnBd(const char* name, Bool_t active);
19
21 virtual ~BmnBd();
22
23
27 virtual void Initialize();
28
36 virtual Bool_t ProcessHits(FairVolume* vol = 0);
37
43 virtual void EndOfEvent();
44
45 virtual void BeginEvent();
46
51 virtual void Register();
52
54 virtual TClonesArray* GetCollection(Int_t iColl) const;
55
60 virtual void Print(Option_t*) const;
61
66 virtual void Reset();
67
75 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
76
78 virtual void ConstructGeometry();
79 virtual void ConstructAsciiGeometry();
80 virtual Bool_t CheckIfSensitive(std::string name);
81
82 BmnBdPoint* AddHit(Int_t trackID, Int_t detID, Int_t copyNo,
83 TVector3 posIn, TVector3 posOut,
84 TVector3 momIn, TVector3 momOut,
85 Double_t tof, Double_t length, Double_t eLoss,
86 Bool_t isPrimary, Double_t charge, Int_t pdgId, Double_t lightYield,
87 Double_t timeIn, Double_t timeOut, Double_t lengthtrack);
88
89 private:
90 Int_t fTrackID;
91 Int_t fVolumeID;
92 //Int_t fEventID; //! event id
93 TVector3 fPosIn;
94 TVector3 fPosOut;
95 TVector3 fMomIn;
96 TVector3 fMomOut;
97 Double32_t fTime;
98 Double32_t fLength;
99 Double32_t fELoss;
100 Int_t fPosIndex;
101 Int_t volDetector;
102 Int_t fIsPrimary;
103 Double_t fCharge;
104 Int_t fPdgId;
105 Float_t fLightYield;
106 TClonesArray* fBdCollection;
107 Double32_t fTimeIn;
108 Double32_t fTimeOut;
109 Double32_t fLengthtrack;
110
111
112 // reset all parameters
113 void ResetParameters();
114 BmnBd(const BmnBd&) = delete;
115 BmnBd operator=(const BmnBd&) = delete;
116
117 ClassDef(BmnBd, 2)
118};
119
120
121//------------------------------------------------------------------------------------------------------------------------
122inline void BmnBd::ResetParameters()
123{
124 fTrackID = fVolumeID = 0;
125 fPosIn.SetXYZ(0.0, 0.0, 0.0);
126 fPosOut.SetXYZ(0.0, 0.0, 0.0);
127 fMomIn.SetXYZ(0.0, 0.0, 0.0);
128 fMomOut.SetXYZ(0.0, 0.0, 0.0);
129 fTime = fLength = fELoss = 0;
130 fTimeIn = fTimeOut = 0;
131 fLengthtrack = 0;
132 fPosIndex = 0;
133 fLightYield = 0;
134 };
135//------------------------------------------------------------------------------------------------------------------------
136
137#endif
Definition BmnBd.h:9
virtual void ConstructGeometry()
virtual void Print(Option_t *) const
virtual Bool_t ProcessHits(FairVolume *vol=0)
virtual void EndOfEvent()
BmnBdPoint * 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 void Initialize()
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
BmnBd(const char *name, Bool_t active)
virtual void ConstructAsciiGeometry()
virtual void Reset()
virtual ~BmnBd()
virtual Bool_t CheckIfSensitive(std::string name)
virtual void BeginEvent()
virtual void Register()
virtual TClonesArray * GetCollection(Int_t iColl) const