BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnSiMD.h
Go to the documentation of this file.
1
/*************************************************************************************
2
*
3
* Class BmnSiMD
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 BMNSiMD_H
12
#define BMNSiMD_H
13
14
#include "
BmnSiMDGeoPar.h
"
15
#include "
BmnSiMDPoint.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
BmnSiMD
:
public
FairDetector
24
{
25
public
:
26
/** Default constructor **/
27
BmnSiMD
();
28
29
/** Standard constructor.
30
*@param name detetcor name
31
*@param active sensitivity flag
32
**/
33
BmnSiMD
(
const
char
* name,
Bool_t
active);
34
35
/** Destructor **/
36
virtual
~BmnSiMD
();
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
virtual
void
ConstructAsciiGeometry
();
94
virtual
Bool_t
CheckIfSensitive
(std::string name);
95
96
BmnSiMDPoint
*
AddHit
(
Int_t
trackID,
97
Int_t
detID,
98
Int_t
copyNo,
99
TVector3
posIn,
100
TVector3
posOut,
101
TVector3
momIn,
102
TVector3
momOut,
103
Double_t
tof,
104
Double_t
length,
105
Double_t
eLoss,
106
Bool_t
isPrimary,
107
Double_t
charge,
108
Int_t
pdgId,
109
Double_t
timeIn,
110
Double_t
timeOut,
111
Double_t
lengthtrack);
112
113
private
:
114
Int_t
fTrackID
;
//! track index
115
Int_t
fVolumeID
;
//! volume id
116
// Int_t fEventID; //! event id
117
TVector3
fPosIn
;
//! position (in)
118
TVector3
fPosOut
;
//! position (out)
119
TVector3
fMomIn
;
//! momentum (in)
120
TVector3
fMomOut
;
121
Double32_t
fTime
;
//! time
122
Double32_t
fLength
;
//! length
123
Double32_t
fELoss
;
//! energy loss
124
Int_t
fPosIndex
;
//!
125
Int_t
volDetector
;
//! MC volume ID of MUO
126
Int_t
fIsPrimary
;
//! is track primary?
127
Double_t
fCharge
;
//! track charge
128
Int_t
fPdgId
;
//! pdg id of particle
129
Float_t
fLightYield
;
130
TClonesArray
*
fSiMDCollection
;
//! Hit collection
131
Double32_t
fTimeIn
;
//! time
132
Double32_t
fTimeOut
;
//! time
133
Double32_t
fLengthtrack
;
//! length
134
135
// reset all parameters
136
void
ResetParameters
();
137
BmnSiMD
(
const
BmnSiMD
&) =
delete
;
138
BmnSiMD
operator=
(
const
BmnSiMD
&) =
delete
;
139
140
ClassDef
(
BmnSiMD
, 2)
141
};
142
143
//------------------------------------------------------------------------------------------------------------------------
144
inline
void
BmnSiMD::ResetParameters
()
145
{
146
fTrackID
=
fVolumeID
= 0;
147
fPosIn
.SetXYZ(0.0, 0.0, 0.0);
148
fPosOut
.SetXYZ(0.0, 0.0, 0.0);
149
fMomIn
.SetXYZ(0.0, 0.0, 0.0);
150
fMomOut
.SetXYZ(0.0, 0.0, 0.0);
151
fTime
=
fLength
=
fELoss
= 0;
152
fTimeIn
=
fTimeOut
= 0;
153
fLengthtrack
= 0;
154
fPosIndex
= 0;
155
fLightYield
= 0;
156
};
157
//------------------------------------------------------------------------------------------------------------------------
158
159
#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
BmnSiMDPoint
Definition
BmnSiMDPoint.h:19
BmnSiMD::CopyClones
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
Virtual method CopyClones.
Definition
BmnSiMD.cxx:276
BmnSiMD::AddHit
BmnSiMDPoint * 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)
Definition
BmnSiMD.cxx:356
BmnSiMD::fELoss
Double32_t fELoss
length
Definition
BmnSiMD.h:123
BmnSiMD::fPdgId
Int_t fPdgId
track charge
Definition
BmnSiMD.h:128
BmnSiMD::fTime
Double32_t fTime
Definition
BmnSiMD.h:121
BmnSiMD::BmnSiMD
BmnSiMD(const BmnSiMD &)=delete
BmnSiMD::fMomOut
TVector3 fMomOut
momentum (in)
Definition
BmnSiMD.h:120
BmnSiMD::fLightYield
Float_t fLightYield
pdg id of particle
Definition
BmnSiMD.h:129
BmnSiMD::Print
virtual void Print(Option_t *) const
Virtual method Print.
Definition
BmnSiMD.cxx:256
BmnSiMD::fPosIn
TVector3 fPosIn
volume id
Definition
BmnSiMD.h:117
BmnSiMD::ResetParameters
void ResetParameters()
length
Definition
BmnSiMD.h:144
BmnSiMD::volDetector
Int_t volDetector
Definition
BmnSiMD.h:125
BmnSiMD::Reset
virtual void Reset()
Virtual method Reset.
Definition
BmnSiMD.cxx:267
BmnSiMD::fTrackID
Int_t fTrackID
Definition
BmnSiMD.h:114
BmnSiMD::CheckIfSensitive
virtual Bool_t CheckIfSensitive(std::string name)
Definition
BmnSiMD.cxx:345
BmnSiMD::fTimeOut
Double32_t fTimeOut
time
Definition
BmnSiMD.h:132
BmnSiMD::BmnSiMD
BmnSiMD()
Default constructor.
Definition
BmnSiMD.cxx:24
BmnSiMD::fVolumeID
Int_t fVolumeID
track index
Definition
BmnSiMD.h:115
BmnSiMD::operator=
BmnSiMD operator=(const BmnSiMD &)=delete
BmnSiMD::~BmnSiMD
virtual ~BmnSiMD()
Destructor.
Definition
BmnSiMD.cxx:49
BmnSiMD::ConstructAsciiGeometry
virtual void ConstructAsciiGeometry()
Definition
BmnSiMD.cxx:306
BmnSiMD::GetCollection
virtual TClonesArray * GetCollection(Int_t iColl) const
Accessor to the hit collection.
Definition
BmnSiMD.cxx:247
BmnSiMD::Initialize
virtual void Initialize()
Virtual method Initialize Initialises detector.
Definition
BmnSiMD.cxx:58
BmnSiMD::fLengthtrack
Double32_t fLengthtrack
time
Definition
BmnSiMD.h:133
BmnSiMD::EndOfEvent
virtual void EndOfEvent()
Virtual method EndOfEvent.
Definition
BmnSiMD.cxx:233
BmnSiMD::fTimeIn
Double32_t fTimeIn
Hit collection.
Definition
BmnSiMD.h:131
BmnSiMD::fSiMDCollection
TClonesArray * fSiMDCollection
Definition
BmnSiMD.h:130
BmnSiMD::fLength
Double32_t fLength
time
Definition
BmnSiMD.h:122
BmnSiMD::fPosIndex
Int_t fPosIndex
energy loss
Definition
BmnSiMD.h:124
BmnSiMD::ConstructGeometry
virtual void ConstructGeometry()
Virtual method Construct geometry.
Definition
BmnSiMD.cxx:293
BmnSiMD::BeginEvent
virtual void BeginEvent()
Definition
BmnSiMD.cxx:67
BmnSiMD::ProcessHits
virtual Bool_t ProcessHits(FairVolume *vol=0)
Virtual method ProcessHits.
Definition
BmnSiMD.cxx:73
BmnSiMD::fPosOut
TVector3 fPosOut
position (in)
Definition
BmnSiMD.h:118
BmnSiMD::fCharge
Double_t fCharge
is track primary?
Definition
BmnSiMD.h:127
BmnSiMD::Register
virtual void Register()
Virtual method Register.
Definition
BmnSiMD.cxx:241
BmnSiMD::fIsPrimary
Int_t fIsPrimary
MC volume ID of MUO.
Definition
BmnSiMD.h:126
BmnSiMD::fMomIn
TVector3 fMomIn
position (out)
Definition
BmnSiMD.h:119
FairDetector
TClonesArray
TVector3
BmnSiMDGeoPar.h
BmnSiMDPoint.h
detectors
SiMD
BmnSiMD.h
Generated on
for BmnRoot by
1.17.0