BmnRoot
Loading...
Searching...
No Matches
BmnArmTrig.h
Go to the documentation of this file.
1/*************************************************************************************
2 *
3 * Class BmnArmTrig
4 *
5 * Adopted for BMN by: Elena Litvinenko
6 * e-mail: litvin@nf.jinr.ru
7 * Version: 10-02-2016
8 *
9 ************************************************************************************/
10
11#ifndef BMNARMTRIG_H
12#define BMNARMTRIG_H
13
14#include "FairDetector.h"
15#include "TClonesArray.h"
16#include "TVector3.h"
17#include "TLorentzVector.h"
18#include "FairDetector.h"
19//#include "BmnArmTrigGeoPar.h"
20#include "TVirtualMC.h"
21#include "TParticle.h"
22
23using namespace std;
24
25
26class TClonesArray;
27class BmnArmTrigPoint;
28class FairVolume;
29
30class BmnArmTrig : public FairDetector
31{
32
33 public:
34
37
38
43 BmnArmTrig(const char* name, Bool_t active);
44
45
47 virtual ~BmnArmTrig();
48
49
53 virtual void Initialize();
54
55
63 virtual Bool_t ProcessHits(FairVolume* vol = 0);
64
65
71 virtual void EndOfEvent();
72
73
74 virtual void BeginEvent();
79 virtual void Register();
80
81
83 virtual TClonesArray* GetCollection(Int_t iColl) const;
84
85
90 virtual void Print(Option_t*) const;
91
92
97 virtual void Reset();
98
99
107 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2,
108 Int_t offset);
109
110
114 virtual void ConstructGeometry();
115
117 virtual Bool_t CheckIfSensitive(std::string name);
118
119 BmnArmTrigPoint* AddHit(Int_t trackID, Int_t detID, Int_t copyNo,
120 TVector3 posIn, TVector3 posOut,
121 TVector3 momIn, TVector3 momOut,
122 Double_t tof, Double_t length, Double_t eLoss,
123 Bool_t isPrimary, Double_t charge, Int_t pdgId,
124 Double_t timeIn, Double_t timeOut, Double_t lengthtrack);
125
126 private:
127 Int_t fTrackID;
128 Int_t fVolumeID;
129 //Int_t fEventID; //! event id
130 TVector3 fPosIn;
131 TVector3 fPosOut;
132 TVector3 fMomIn;
133 TVector3 fMomOut;
134 Double32_t fTime;
135 Double32_t fLength;
136 Double32_t fELoss;
137 Int_t fPosIndex;
138 Int_t volDetector;
139 Int_t fIsPrimary;
140 Double_t fCharge;
141 Int_t fPdgId;
142 Float_t fLightYield;
143 TClonesArray* fArmTrigCollection;
144 Double32_t fTimeIn;
145 Double32_t fTimeOut;
146 Double32_t fLengthtrack;
147
148
149 // reset all parameters
150 void ResetParameters();
151
152 ClassDef(BmnArmTrig,2)
153
154};
155
156
157//------------------------------------------------------------------------------------------------------------------------
158inline void BmnArmTrig::ResetParameters()
159{
160 fTrackID = fVolumeID = 0;
161 fPosIn.SetXYZ(0.0, 0.0, 0.0);
162 fPosOut.SetXYZ(0.0, 0.0, 0.0);
163 fMomIn.SetXYZ(0.0, 0.0, 0.0);
164 fMomOut.SetXYZ(0.0, 0.0, 0.0);
165 fTime = fLength = fELoss = 0;
166 fTimeIn = fTimeOut = 0;
167 fLengthtrack = 0;
168 fPosIndex = 0;
169 fLightYield = 0;
170 };
171//------------------------------------------------------------------------------------------------------------------------
172
173#endif
virtual void Print(Option_t *) const
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
virtual void Reset()
virtual void ConstructGeometry()
BmnArmTrig(const char *name, Bool_t active)
virtual void EndOfEvent()
BmnArmTrigPoint * 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 timeIn, Double_t timeOut, Double_t lengthtrack)
virtual ~BmnArmTrig()
virtual void ConstructAsciiGeometry()
virtual TClonesArray * GetCollection(Int_t iColl) const
virtual void Initialize()
virtual void Register()
virtual Bool_t ProcessHits(FairVolume *vol=0)
virtual void BeginEvent()
virtual Bool_t CheckIfSensitive(std::string name)
STL namespace.