BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnBC.h
Go to the documentation of this file.
1
/*************************************************************************************
2
*
3
* Class BmnBC
4
*
5
* Adopted for BMN by: Nikita Lashmanov, Andrey Dryuk
6
* e-mail: nikita10630@mail.ru, andredryuk@gmail.com
7
* Version: 20.12.2020
8
*
9
************************************************************************************/
10
11
#ifndef BMNBC_H
12
#define BMNBC_H
13
14
#include "
BmnBCGeoPar.h
"
15
#include "
BmnBCPoint.h
"
16
#include "FairDetector.h"
17
#include "
TClonesArray.h
"
18
#include "
TLorentzVector.h
"
19
#include "
TParticle.h
"
20
#include "
TVector3.h
"
21
#include "TVirtualMC.h"
22
23
class
BmnBC
:
public
FairDetector
24
{
25
public
:
26
/** Default constructor **/
27
BmnBC
();
28
29
/** Standard constructor.
30
*@param name detetcor name
31
*@param active sensitivity flag
32
**/
33
BmnBC
(
const
char
* name,
Bool_t
active);
34
35
/** Destructor **/
36
virtual
~BmnBC
();
37
38
/** Virtual method Initialize
39
** Initialises detector. Stores volume IDs for MUO detector and mirror.
40
**/
41
virtual
void
Initialize
();
42
43
/** Virtual method ProcessHits
44
**
45
** Defines the action to be taken when a step is inside the
46
** active volume. Creates BmnBdPoints and BmnBdMirrorPoints and adds
47
** them to the collections.
48
*@param vol Pointer to the active volume
49
**/
50
virtual
Bool_t
ProcessHits
(FairVolume* vol = 0);
51
52
/** Virtual method EndOfEvent
53
**
54
** If verbosity level is set, print hit collection at the
55
** end of the event and resets it afterwards.
56
**/
57
virtual
void
EndOfEvent
();
58
59
virtual
void
BeginEvent
();
60
61
/** Virtual method Register
62
**
63
** Registers the hit collection in the ROOT manager.
64
**/
65
virtual
void
Register
();
66
67
/** Accessor to the hit collection **/
68
virtual
TClonesArray
*
GetCollection
(
Int_t
iColl)
const
;
69
70
/** Virtual method Print
71
**
72
** Screen output of hit collection.
73
**/
74
virtual
void
Print
(
Option_t
*)
const
;
75
76
/** Virtual method Reset
77
**
78
** Clears the hit collection
79
**/
80
virtual
void
Reset
();
81
82
/** Virtual method CopyClones
83
**
84
** Copies the hit collection with a given track index offset
85
*@param cl1 Origin
86
*@param cl2 Target
87
*@param offset Index offset
88
**/
89
virtual
void
CopyClones
(
TClonesArray
* cl1,
TClonesArray
* cl2,
Int_t
offset);
90
91
/** Virtual method Construct geometry **/
92
virtual
void
ConstructGeometry
();
93
94
virtual
void
ConstructAsciiGeometry
();
95
virtual
Bool_t
CheckIfSensitive
(std::string name);
96
97
BmnBCPoint
*
AddHit
(
Int_t
trackID,
98
Int_t
detID,
99
Int_t
copyNo,
100
TVector3
posIn,
101
TVector3
posOut,
102
TVector3
momIn,
103
TVector3
momOut,
104
Double_t
tof,
105
Double_t
length,
106
Double_t
eLoss,
107
Int_t
fStat,
108
Bool_t
isPrimary,
109
Double_t
charge,
110
Int_t
pdgId,
111
Double_t
lightYield,
112
Double_t
timeIn,
113
Double_t
timeOut,
114
Double_t
lengthtrack);
115
116
private
:
117
Int_t
fTrackID
;
//! track index
118
Int_t
fVolumeID
;
//! volume id
119
// Int_t fEventID; //! event id
120
TVector3
fPosIn
;
//! position (in)
121
TVector3
fPosOut
;
//! position (out)
122
TVector3
fMomIn
;
//! momentum (in)
123
TVector3
fMomOut
;
124
Double32_t
fTime
;
//! time
125
Double32_t
fLength
;
//! length
126
Double32_t
fELoss
;
//! energy loss
127
Int_t
fPosIndex
;
//!
128
Int_t
volDetector
;
//! MC volume ID of MUO
129
Int_t
fIsPrimary
;
//! is track primary?
130
Double_t
fCharge
;
//! track charge
131
Int_t
fPdgId
;
//! pdg id of particle
132
Int_t
fStation
;
133
Float_t
fLightYield
;
134
TClonesArray
*
fBCCollection
;
//! Hit collection
135
Double32_t
fTimeIn
;
//! time
136
Double32_t
fTimeOut
;
//! time
137
Double32_t
fLengthtrack
;
//! length
138
139
// reset all parameters
140
void
ResetParameters
();
141
BmnBC
(
const
BmnBC
&) =
delete
;
142
BmnBC
operator=
(
const
BmnBC
&) =
delete
;
143
144
ClassDef
(
BmnBC
, 2)
145
};
146
147
//------------------------------------------------------------------------------------------------------------------------
148
inline
void
BmnBC::ResetParameters
()
149
{
150
fTrackID
=
fVolumeID
= 0;
151
fPosIn
.
SetXYZ
(0.0, 0.0, 0.0);
152
fPosOut
.
SetXYZ
(0.0, 0.0, 0.0);
153
fMomIn
.
SetXYZ
(0.0, 0.0, 0.0);
154
fMomOut
.
SetXYZ
(0.0, 0.0, 0.0);
155
fTime
=
fLength
=
fELoss
= 0;
156
fTimeIn
=
fTimeOut
= 0;
157
fLengthtrack
= 0;
158
fPosIndex
= 0;
159
fLightYield
= 0;
160
};
161
//------------------------------------------------------------------------------------------------------------------------
162
163
#endif
Bool_t
bool Bool_t
Int_t
int Int_t
Double32_t
double Double32_t
Float_t
float Float_t
Double_t
double Double_t
Option_t
const char Option_t
ClassDef
#define ClassDef(name, id)
TClonesArray.h
TLorentzVector.h
TParticle.h
TVector3.h
BmnBCPoint
Definition
BmnBCPoint.h:21
BmnBC
Definition
BmnBC.h:24
BmnBC::EndOfEvent
virtual void EndOfEvent()
Virtual method EndOfEvent.
BmnBC::fVolumeID
Int_t fVolumeID
track index
Definition
BmnBC.h:118
BmnBC::Print
virtual void Print(Option_t *) const
Virtual method Print.
BmnBC::ProcessHits
virtual Bool_t ProcessHits(FairVolume *vol=0)
Virtual method ProcessHits.
BmnBC::ResetParameters
void ResetParameters()
length
BmnBC::volDetector
Int_t volDetector
Definition
BmnBC.h:128
BmnBC::fIsPrimary
Int_t fIsPrimary
MC volume ID of MUO.
Definition
BmnBC.h:129
BmnBC::~BmnBC
virtual ~BmnBC()
Destructor.
BmnBC::Register
virtual void Register()
Virtual method Register.
BmnBC::fPosIn
TVector3 fPosIn
volume id
Definition
BmnBC.h:120
BmnBC::fPosIndex
Int_t fPosIndex
energy loss
Definition
BmnBC.h:127
BmnBC::BmnBC
BmnBC()
Default constructor.
BmnBC::fTrackID
Int_t fTrackID
Definition
BmnBC.h:117
BmnBC::GetCollection
virtual TClonesArray * GetCollection(Int_t iColl) const
Accessor to the hit collection.
BmnBC::fPosOut
TVector3 fPosOut
position (in)
Definition
BmnBC.h:121
BmnBC::fLightYield
Float_t fLightYield
Definition
BmnBC.h:133
BmnBC::ConstructAsciiGeometry
virtual void ConstructAsciiGeometry()
BmnBC::Initialize
virtual void Initialize()
Virtual method Initialize Initialises detector.
BmnBC::fTimeIn
Double32_t fTimeIn
Hit collection.
Definition
BmnBC.h:135
BmnBC::fELoss
Double32_t fELoss
length
Definition
BmnBC.h:126
BmnBC::ConstructGeometry
virtual void ConstructGeometry()
Virtual method Construct geometry.
BmnBC::fStation
Int_t fStation
pdg id of particle
Definition
BmnBC.h:132
BmnBC::Reset
virtual void Reset()
Virtual method Reset.
BmnBC::fBCCollection
TClonesArray * fBCCollection
Definition
BmnBC.h:134
BmnBC::CopyClones
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Virtual method CopyClones.
BmnBC::fTime
Double32_t fTime
Definition
BmnBC.h:124
BmnBC::BmnBC
BmnBC(const char *name, Bool_t active)
Standard constructor.
BmnBC::fLength
Double32_t fLength
time
Definition
BmnBC.h:125
BmnBC::fCharge
Double_t fCharge
is track primary?
Definition
BmnBC.h:130
BmnBC::fLengthtrack
Double32_t fLengthtrack
time
Definition
BmnBC.h:137
BmnBC::fMomOut
TVector3 fMomOut
momentum (in)
Definition
BmnBC.h:123
BmnBC::fTimeOut
Double32_t fTimeOut
time
Definition
BmnBC.h:136
BmnBC::CheckIfSensitive
virtual Bool_t CheckIfSensitive(std::string name)
BmnBC::operator=
BmnBC operator=(const BmnBC &)=delete
BmnBC::fMomIn
TVector3 fMomIn
position (out)
Definition
BmnBC.h:122
BmnBC::BeginEvent
virtual void BeginEvent()
BmnBC::AddHit
BmnBCPoint * 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, Int_t fStat, Bool_t isPrimary, Double_t charge, Int_t pdgId, Double_t lightYield, Double_t timeIn, Double_t timeOut, Double_t lengthtrack)
BmnBC::BmnBC
BmnBC(const BmnBC &)=delete
BmnBC::fPdgId
Int_t fPdgId
track charge
Definition
BmnBC.h:131
FairDetector
TClonesArray
TVector3
TVector3::SetXYZ
void SetXYZ(Double_t x, Double_t y, Double_t z)
BmnBCGeoPar.h
BmnBCPoint.h
install
include
BmnBC.h
Generated on
for BmnRoot by
1.17.0