BmnRoot
Loading...
Searching...
No Matches
BmnScWall.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * Class BmnScWall
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 BMNSCWALL_H
14#define BMNSCWALL_H
15
16#include "BmnScWallGeoPar.h"
17#include "BmnScWallPoint.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 BmnScWall : public FairDetector
26{
27 public:
29 BmnScWall();
30
35 BmnScWall(const char* name, Bool_t active);
36
38 virtual ~BmnScWall();
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);
95
96 BmnScWallPoint* GetHit(Int_t i) const;
97 BmnScWallPoint* GetHit(Int_t slice, Int_t cell) const;
98 Int_t GetCellSmallCutVolId() { return fCellSmallCutVolId; }
99 Int_t GetCellSmallCutVolId_10mm() { return fCellSmallCutVolId_10mm; }
100 Int_t GetCellSmallCutVolId_20mm() { return fCellSmallCutVolId_20mm; }
101 Int_t GetCellSmallTrapVolId() { return fCellSmallTrapVolId; }
102 Int_t GetCellSmallTrapVolId_10mm() { return fCellSmallTrapVolId_10mm; }
103 Int_t GetCellSmallTrapVolId_20mm() { return fCellSmallTrapVolId_20mm; }
104 Int_t GetCellLargeCutVolId() { return fCellLargeCutVolId; }
105 Int_t GetCellLargeTrapVolId() { return fCellLargeTrapVolId; }
106
107 BmnScWallPoint* AddHit(Int_t trackID,
108 Int_t detID,
109 Int_t copyNo,
110 Int_t copyNoMother,
111 TVector3 pos,
112 TVector3 mom,
113 Double_t tof,
114 Double_t length,
115 Double_t eLoss);
116
117 private:
118 Int_t fTrackID;
119 Int_t fVolumeID;
120 Int_t fEventID;
121 Int_t fCellSmallCutVolId;
122 Int_t fCellSmallCutVolId_10mm;
123 Int_t fCellSmallCutVolId_20mm;
124 Int_t fCellSmallTrapVolId;
125 Int_t fCellSmallTrapVolId_10mm;
126 Int_t fCellSmallTrapVolId_20mm;
127 Int_t fCellLargeCutVolId;
128 Int_t fCellLargeTrapVolId;
129 TVector3 fPos;
130 TVector3 fMom;
131 Double32_t fTime;
132 Double32_t fLength;
133 Double32_t fELoss;
134 Int_t volDetector;
135
136 TClonesArray* fScWallCollection;
137
138 // reset all parameters
139 void ResetParameters();
140 BmnScWall(const BmnScWall&) = delete;
141 BmnScWall operator=(const BmnScWall&) = delete;
142
143 ClassDef(BmnScWall, 1)
144};
145
146//-----------------------------------------------------------------------------
147inline void BmnScWall::ResetParameters()
148{
149 fTrackID = fVolumeID = 0;
150 fPos.SetXYZ(0.0, 0.0, 0.0);
151 fMom.SetXYZ(0.0, 0.0, 0.0);
152 fTime = fLength = fELoss = 0;
153};
154//-----------------------------------------------------------------------------
155
156#endif
int i
Definition P4_F32vec4.h:22
BmnScWallPoint * 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)
virtual void BeginEvent()
Definition BmnScWall.h:62
Int_t GetCellSmallTrapVolId_20mm()
Definition BmnScWall.h:103
virtual void FinishRun()
Definition BmnScWall.h:64
virtual Bool_t ProcessHits(FairVolume *vol=0)
Int_t GetCellLargeTrapVolId()
Definition BmnScWall.h:105
Int_t GetCellSmallCutVolId_20mm()
Definition BmnScWall.h:100
virtual Bool_t CheckIfSensitive(std::string name)
virtual void Reset()
BmnScWallPoint * GetHit(Int_t i) const
Definition BmnScWall.cxx:98
virtual void ConstructGeometry()
virtual void BeginPrimary()
Definition BmnScWall.h:65
virtual void PostTrack()
Definition BmnScWall.h:66
Int_t GetCellSmallCutVolId()
Definition BmnScWall.h:98
virtual void FinishPrimary()
Definition BmnScWall.h:63
Int_t GetCellLargeCutVolId()
Definition BmnScWall.h:104
virtual TClonesArray * GetCollection(Int_t iColl) const
virtual void EndOfEvent()
Int_t GetCellSmallTrapVolId()
Definition BmnScWall.h:101
Int_t GetCellSmallCutVolId_10mm()
Definition BmnScWall.h:99
virtual void Print(Option_t *) const
Int_t GetCellSmallTrapVolId_10mm()
Definition BmnScWall.h:102
virtual void Register()
virtual ~BmnScWall()
Definition BmnScWall.cxx:68
virtual void PreTrack()
Definition BmnScWall.h:67
virtual void Initialize()
Definition BmnScWall.cxx:77