BmnRoot 26.10.0-23-g896ab5ca
Software framework of the BM@N experiment
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
7class BmnBd : public FairDetector
8{
9 public:
10 /** Default constructor **/
11 BmnBd();
12
13 /** Standard constructor.
14 *@param name detetcor name
15 *@param active sensitivity flag
16 **/
17 BmnBd(const char* name, Bool_t active);
18
19 /** Destructor **/
20 virtual ~BmnBd();
21
22 /** Virtual method Initialize
23 ** Initialises detector. Stores volume IDs for MUO detector and mirror.
24 **/
25 virtual void Initialize();
26
27 /** Virtual method ProcessHits
28 **
29 ** Defines the action to be taken when a step is inside the
30 ** active volume. Creates BmnBdPoints and BmnBdMirrorPoints and adds
31 ** them to the collections.
32 *@param vol Pointer to the active volume
33 **/
34 virtual Bool_t ProcessHits(FairVolume* vol = 0);
35
36 /** Virtual method EndOfEvent
37 **
38 ** If verbosity level is set, print hit collection at the
39 ** end of the event and resets it afterwards.
40 **/
41 virtual void EndOfEvent();
42
43 virtual void BeginEvent();
44
45 /** Virtual method Register
46 **
47 ** Registers the hit collection in the ROOT manager.
48 **/
49 virtual void Register();
50
51 /** Accessor to the hit collection **/
52 virtual TClonesArray* GetCollection(Int_t iColl) const;
53
54 /** Virtual method Print
55 **
56 ** Screen output of hit collection.
57 **/
58 virtual void Print(Option_t*) const;
59
60 /** Virtual method Reset
61 **
62 ** Clears the hit collection
63 **/
64 virtual void Reset();
65
66 /** Virtual method CopyClones
67 **
68 ** Copies the hit collection with a given track index offset
69 *@param cl1 Origin
70 *@param cl2 Target
71 *@param offset Index offset
72 **/
73 virtual void CopyClones(TClonesArray* cl1, TClonesArray* cl2, Int_t offset);
74
75 /** Virtual method Construct geometry **/
76 virtual void ConstructGeometry();
77 virtual void ConstructAsciiGeometry();
78 virtual Bool_t CheckIfSensitive(std::string name);
79
80 BmnBdPoint* AddHit(Int_t trackID,
81 Int_t detID,
82 Int_t copyNo,
83 TVector3 posIn,
84 TVector3 posOut,
85 TVector3 momIn,
86 TVector3 momOut,
87 Double_t tof,
88 Double_t length,
89 Double_t eLoss,
90 Bool_t isPrimary,
91 Double_t charge,
92 Int_t pdgId,
93 Double_t lightYield,
94 Double_t timeIn,
95 Double_t timeOut,
96 Double_t lengthtrack);
97
98 private:
99 Int_t fTrackID; //! track index
100 Int_t fVolumeID; //! volume id
101 // Int_t fEventID; //! event id
102 TVector3 fPosIn; //! position (in)
103 TVector3 fPosOut; //! position (out)
104 TVector3 fMomIn; //! momentum (in)
107 Double32_t fLength; //! length
108 Double32_t fELoss; //! energy loss
110 Int_t volDetector; //! MC volume ID of MUO
111 Int_t fIsPrimary; //! is track primary?
112 Double_t fCharge; //! track charge
113 Int_t fPdgId; //! pdg id of particle
115 TClonesArray* fBdCollection; //! Hit collection
119
120 // reset all parameters
121 void ResetParameters();
122 BmnBd(const BmnBd&) = delete;
123 BmnBd operator=(const BmnBd&) = delete;
124
125 ClassDef(BmnBd, 2)
126};
127
128//------------------------------------------------------------------------------------------------------------------------
130{
131 fTrackID = fVolumeID = 0;
132 fPosIn.SetXYZ(0.0, 0.0, 0.0);
133 fPosOut.SetXYZ(0.0, 0.0, 0.0);
134 fMomIn.SetXYZ(0.0, 0.0, 0.0);
135 fMomOut.SetXYZ(0.0, 0.0, 0.0);
136 fTime = fLength = fELoss = 0;
137 fTimeIn = fTimeOut = 0;
138 fLengthtrack = 0;
139 fPosIndex = 0;
140 fLightYield = 0;
141};
142//------------------------------------------------------------------------------------------------------------------------
143
144#endif
bool Bool_t
int Int_t
double Double32_t
float Float_t
double Double_t
const char Option_t
#define ClassDef(name, id)
Double32_t fELoss
length
Definition BmnBd.h:108
void ResetParameters()
length
Definition BmnBd.h:129
Int_t fPdgId
track charge
Definition BmnBd.h:113
virtual void BeginEvent()
Definition BmnBd.cxx:64
TVector3 fMomOut
momentum (in)
Definition BmnBd.h:105
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Virtual method CopyClones.
Definition BmnBd.cxx:283
Double32_t fTimeIn
Hit collection.
Definition BmnBd.h:116
Int_t fIsPrimary
MC volume ID of MUO.
Definition BmnBd.h:111
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)
Definition BmnBd.cxx:362
Int_t volDetector
Definition BmnBd.h:110
Double32_t fLengthtrack
time
Definition BmnBd.h:118
TVector3 fPosIn
volume id
Definition BmnBd.h:102
virtual TClonesArray * GetCollection(Int_t iColl) const
Accessor to the hit collection.
Definition BmnBd.cxx:255
virtual void Print(Option_t *) const
Virtual method Print.
Definition BmnBd.cxx:264
Double32_t fTime
Definition BmnBd.h:106
virtual void Initialize()
Virtual method Initialize Initialises detector.
Definition BmnBd.cxx:56
BmnBd operator=(const BmnBd &)=delete
BmnBd()
Default constructor.
Definition BmnBd.cxx:22
virtual void Register()
Virtual method Register.
Definition BmnBd.cxx:249
TVector3 fPosOut
position (in)
Definition BmnBd.h:103
Int_t fTrackID
Definition BmnBd.h:99
Double32_t fTimeOut
time
Definition BmnBd.h:117
virtual void ConstructAsciiGeometry()
Definition BmnBd.cxx:312
Double_t fCharge
is track primary?
Definition BmnBd.h:112
Float_t fLightYield
pdg id of particle
Definition BmnBd.h:114
virtual void Reset()
Virtual method Reset.
Definition BmnBd.cxx:275
virtual Bool_t CheckIfSensitive(std::string name)
Definition BmnBd.cxx:352
virtual void EndOfEvent()
Virtual method EndOfEvent.
Definition BmnBd.cxx:241
virtual Bool_t ProcessHits(FairVolume *vol=0)
Virtual method ProcessHits.
Definition BmnBd.cxx:67
Int_t fPosIndex
energy loss
Definition BmnBd.h:109
Double32_t fLength
time
Definition BmnBd.h:107
virtual ~BmnBd()
Destructor.
Definition BmnBd.cxx:47
BmnBd(const BmnBd &)=delete
TClonesArray * fBdCollection
Definition BmnBd.h:115
virtual void ConstructGeometry()
Virtual method Construct geometry.
Definition BmnBd.cxx:299
Int_t fVolumeID
track index
Definition BmnBd.h:100
TVector3 fMomIn
position (out)
Definition BmnBd.h:104