BmnRoot
Loading...
Searching...
No Matches
BmnHodo.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Class BmnHodo
4 *
5 * Created by: Sergei Merts
6 * e-mail: merts@jinr.ru
7 * Version: 28-03-2021
8 *
9 * Modified by M.Golubeva April 2021
10 *
11 *****************************************************************************/
12
13#ifndef BMNHODO_H
14#define BMNHODO_H
15
16#include "BmnHodoGeoPar.h"
17#include "BmnHodoPoint.h"
18#include "FairDetector.h"
19#include "TClonesArray.h"
20#include "TLorentzVector.h"
21#include "TParticle.h"
22#include "TVector3.h"
23#include "TVirtualMC.h"
24
25class BmnHodo : public FairDetector
26{
27 public:
29 BmnHodo();
30
35 BmnHodo(const char* name, Bool_t active);
36
38 virtual ~BmnHodo();
39
43 virtual void Initialize();
44
52 virtual Bool_t ProcessHits(FairVolume* vol = 0);
53
59 virtual void EndOfEvent();
60
61 virtual void SetSpecialPhysicsCuts() { ; }
62 virtual void BeginEvent() { ; }
63 virtual void FinishPrimary() { ; }
64 virtual void FinishRun() { ; }
65 virtual void BeginPrimary() { ; }
66 virtual void PostTrack() { ; }
67 virtual void PreTrack() { ; }
68
73 virtual void Register();
74
76 virtual TClonesArray* GetCollection(Int_t iColl) const;
77
82 virtual void Print(Option_t*) const;
83
88 virtual void Reset();
89
93 virtual void ConstructGeometry();
94 virtual Bool_t CheckIfSensitive(std::string name) { return BmnHodoGeoPar::CheckIfSensitive(name); }
95
96 BmnHodoPoint* GetHit(Int_t i) const;
97 BmnHodoPoint* GetHit(Int_t sticksens, Int_t stick) const;
98 Int_t GetHodoStickSensVolId() { return fHodoStickSensVolId; }
99
100 BmnHodoPoint* AddHit(Int_t trackID,
101 Int_t detID,
102 Int_t copyNo,
103 Int_t copyNoMother,
104 TVector3 pos,
105 TVector3 mom,
106 Double_t tof,
107 Double_t length,
108 Double_t eLoss);
109
110 private:
111 Int_t fTrackID;
112 Int_t fVolumeID;
113 Int_t fEventID;
114 Int_t fHodoStickSensVolId;
115 TVector3 fPos;
116 TVector3 fMom;
117 Double32_t fTime;
118 Double32_t fLength;
119 Double32_t fELoss;
120 Int_t volDetector;
121
122 TClonesArray* fHodoCollection;
123
124 // reset all parameters
125 void ResetParameters();
126 BmnHodo(const BmnHodo&) = delete;
127 BmnHodo operator=(const BmnHodo&) = delete;
128
129 ClassDef(BmnHodo, 0)
130};
131
132//-----------------------------------------------------------------------------
133inline void BmnHodo::ResetParameters()
134{
135 fTrackID = fVolumeID = 0;
136 fPos.SetXYZ(0.0, 0.0, 0.0);
137 fMom.SetXYZ(0.0, 0.0, 0.0);
138 fTime = fLength = fELoss = 0;
139};
140//-----------------------------------------------------------------------------
141
142#endif
int i
Definition P4_F32vec4.h:22
static bool CheckIfSensitive(std::string name)
virtual void PostTrack()
Definition BmnHodo.h:66
virtual TClonesArray * GetCollection(Int_t iColl) const
Definition BmnHodo.cxx:292
virtual void SetSpecialPhysicsCuts()
Definition BmnHodo.h:61
virtual void Reset()
Definition BmnHodo.cxx:311
virtual Bool_t CheckIfSensitive(std::string name)
Definition BmnHodo.h:94
virtual void BeginPrimary()
Definition BmnHodo.h:65
virtual void Register()
Definition BmnHodo.cxx:286
BmnHodoPoint * AddHit(Int_t trackID, Int_t detID, Int_t copyNo, Int_t copyNoMother, TVector3 pos, TVector3 mom, Double_t tof, Double_t length, Double_t eLoss)
Definition BmnHodo.cxx:328
virtual void Print(Option_t *) const
Definition BmnHodo.cxx:300
virtual void ConstructGeometry()
Definition BmnHodo.cxx:317
BmnHodoPoint * GetHit(Int_t i) const
Definition BmnHodo.cxx:72
virtual void FinishRun()
Definition BmnHodo.h:64
virtual void Initialize()
Definition BmnHodo.cxx:60
virtual Bool_t ProcessHits(FairVolume *vol=0)
Definition BmnHodo.cxx:98
virtual void PreTrack()
Definition BmnHodo.h:67
virtual void EndOfEvent()
Definition BmnHodo.cxx:278
BmnHodo()
Definition BmnHodo.cxx:31
virtual ~BmnHodo()
Definition BmnHodo.cxx:51
Int_t GetHodoStickSensVolId()
Definition BmnHodo.h:98
virtual void FinishPrimary()
Definition BmnHodo.h:63
virtual void BeginEvent()
Definition BmnHodo.h:62