BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnGemStripStation.h
Go to the documentation of this file.
1
#ifndef BMNGEMSTRIPSTATION_H
2
#define BMNGEMSTRIPSTATION_H
3
4
#include "
BmnGemStripModule.h
"
5
#include "BmnStripData.h"
6
#include "
TDOMParser.h
"
7
#include "
TList.h
"
8
#include "
TXMLAttr.h
"
9
#include "
TXMLNode.h
"
10
11
class
BmnGemStripStation
12
{
13
14
protected
:
15
/* station parameters */
16
Int_t
StationNumber
;
17
Int_t
NModules
;
18
19
Double_t
XMinStation
;
20
Double_t
XMaxStation
;
21
Double_t
YMinStation
;
22
Double_t
YMaxStation
;
23
Double_t
ZMinStation
;
24
Double_t
ZMaxStation
;
25
26
Double_t
XSize
;
27
Double_t
YSize
;
28
Double_t
ZSize
;
29
30
Double_t
XPosition
;
31
Double_t
YPosition
;
32
Double_t
ZPosition
;
33
34
/*Shifts of modules in each station*/
35
Double_t
*
XShiftOfModules
;
//[NModules]
36
Double_t
*
YShiftOfModules
;
//[NModules]
37
Double_t
*
ZShiftOfModules
;
//[NModules]
38
39
Double_t
*
DriftGapThicknessOfModules
;
//[NModules]
40
Double_t
*
FTransfGapThicknessOfModules
;
//[NModules]
41
Double_t
*
STransfGapThicknessOfModules
;
//[NModules]
42
Double_t
*
InductionGapThicknessOfModules
;
//[NModules]
43
44
Double_t
BeamHoleRadius
;
45
46
BmnGemStripModule
**
Modules
;
//[NModules] modules in the station [array]
47
48
public
:
49
/* Constructor */
50
BmnGemStripStation
();
51
BmnGemStripStation
(
TXMLNode
* stationNode,
52
Int_t
iStation,
53
Double_t
xpos_station,
54
Double_t
ypos_station,
55
Double_t
zpos_station,
56
Double_t
beamradius);
57
/* Destructor */
58
virtual
~BmnGemStripStation
();
59
60
// Getters
61
Int_t
GetStationNumber
() {
return
StationNumber
; }
62
Int_t
GetNModules
() {
return
NModules
; }
63
Double_t
GetXMinStation
() {
return
XMinStation
; }
64
Double_t
GetXMaxStation
() {
return
XMaxStation
; }
65
Double_t
GetYMinStation
() {
return
YMinStation
; }
66
Double_t
GetYMaxStation
() {
return
YMaxStation
; }
67
Double_t
GetZMinStation
() {
return
ZMinStation
; }
68
Double_t
GetZMaxStation
() {
return
ZMaxStation
; }
69
Double_t
GetXSize
() {
return
XSize
; }
70
Double_t
GetYSize
() {
return
YSize
; }
71
Double_t
GetZSize
() {
return
ZSize
; }
72
Double_t
GetXPosition
() {
return
XPosition
; }
73
Double_t
GetYPosition
() {
return
YPosition
; }
74
Double_t
GetZPosition
() {
return
ZPosition
; }
75
Double_t
GetXShiftOfModule
(
Int_t
module_num);
76
Double_t
GetYShiftOfModule
(
Int_t
module_num);
77
Double_t
GetZShiftOfModule
(
Int_t
module_num);
78
79
Double_t
GetDriftGapThicknessOfModule
(
Int_t
module_num);
80
Double_t
GetFTransfGapThicknessOfModule
(
Int_t
module_num);
81
Double_t
GetSTransfGapThicknessOfModule
(
Int_t
module_num);
82
Double_t
GetInductionGapThicknessOfModule
(
Int_t
module_num);
83
84
Double_t
GetBeamHoleRadius
() {
return
BeamHoleRadius
; }
85
BmnGemStripModule
*
GetModule
(
Int_t
module_num);
86
87
// Reset all data in modules of the station
88
void
Reset
();
89
90
Int_t
AddPointToStation
(
Double_t
xcoord,
91
Double_t
ycoord,
92
Double_t
zcoord,
93
Double_t
px,
94
Double_t
py,
95
Double_t
pz,
96
Double_t
dEloss,
97
Int_t
refID);
98
99
Int_t
CountNAddedToStationPoints
();
100
101
void
ProcessPointsInStation
();
102
Int_t
CountNProcessedPointInStation
();
103
104
// Pure virtual methods (must be defined in derived classes) ---------------
105
106
// which module in the station does a point belong to?
107
// zcoord - is unused usually, but if modules in the station are (x,y)-overlapped then zcoord is important
108
Int_t
GetPointModuleOwnership
(
Double_t
xcoord,
Double_t
ycoord,
Double_t
zcoord);
109
110
//--------------------------------------------------------------------------
111
112
protected
:
113
void
DefineStationBorders
();
114
115
private
:
116
Bool_t
CreateConfigurationFromXMLNode
(
TXMLNode
* node);
117
Int_t
CountNumberOfModules
(
TXMLNode
* node);
118
Bool_t
ParseModule
(
TXMLNode
* node,
Int_t
iModule);
119
BmnGemStripLayer
ParseLayer
(
TXMLNode
* node,
Int_t
iLayer,
Int_t
iModule);
120
DeadZoneOfStripLayer
ParseDeadZone
(
TXMLNode
* node,
Int_t
iModule);
121
Int_t
CountDeadZonePoints
(
TXMLNode
* node);
122
123
ClassDef
(
BmnGemStripStation
, 1)
124
};
125
126
#endif
Bool_t
bool Bool_t
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
TDOMParser.h
TList.h
TXMLAttr.h
TXMLNode.h
BmnGemStripLayer
Definition
BmnGemStripLayer.h:15
BmnGemStripModule
Definition
BmnGemStripModule.h:27
BmnGemStripStation
Definition
BmnGemStripStation.h:12
BmnGemStripStation::CountNumberOfModules
Int_t CountNumberOfModules(TXMLNode *node)
Definition
BmnGemStripStation.cxx:326
BmnGemStripStation::XShiftOfModules
Double_t * XShiftOfModules
Definition
BmnGemStripStation.h:35
BmnGemStripStation::YMinStation
Double_t YMinStation
Definition
BmnGemStripStation.h:21
BmnGemStripStation::ZMaxStation
Double_t ZMaxStation
Definition
BmnGemStripStation.h:24
BmnGemStripStation::GetXMaxStation
Double_t GetXMaxStation()
Definition
BmnGemStripStation.h:64
BmnGemStripStation::STransfGapThicknessOfModules
Double_t * STransfGapThicknessOfModules
Definition
BmnGemStripStation.h:41
BmnGemStripStation::Modules
BmnGemStripModule ** Modules
Definition
BmnGemStripStation.h:46
BmnGemStripStation::FTransfGapThicknessOfModules
Double_t * FTransfGapThicknessOfModules
Definition
BmnGemStripStation.h:40
BmnGemStripStation::GetDriftGapThicknessOfModule
Double_t GetDriftGapThicknessOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:147
BmnGemStripStation::GetXShiftOfModule
Double_t GetXShiftOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:120
BmnGemStripStation::GetZShiftOfModule
Double_t GetZShiftOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:138
BmnGemStripStation::ParseModule
Bool_t ParseModule(TXMLNode *node, Int_t iModule)
Definition
BmnGemStripStation.cxx:339
BmnGemStripStation::CountNProcessedPointInStation
Int_t CountNProcessedPointInStation()
Definition
BmnGemStripStation.cxx:237
BmnGemStripStation::ZPosition
Double_t ZPosition
Definition
BmnGemStripStation.h:32
BmnGemStripStation::GetZSize
Double_t GetZSize()
Definition
BmnGemStripStation.h:71
BmnGemStripStation::GetZPosition
Double_t GetZPosition()
Definition
BmnGemStripStation.h:74
BmnGemStripStation::GetYSize
Double_t GetYSize()
Definition
BmnGemStripStation.h:70
BmnGemStripStation::ProcessPointsInStation
void ProcessPointsInStation()
Definition
BmnGemStripStation.cxx:230
BmnGemStripStation::GetModule
BmnGemStripModule * GetModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:183
BmnGemStripStation::ZShiftOfModules
Double_t * ZShiftOfModules
Definition
BmnGemStripStation.h:37
BmnGemStripStation::GetInductionGapThicknessOfModule
Double_t GetInductionGapThicknessOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:174
BmnGemStripStation::GetStationNumber
Int_t GetStationNumber()
Definition
BmnGemStripStation.h:61
BmnGemStripStation::GetSTransfGapThicknessOfModule
Double_t GetSTransfGapThicknessOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:165
BmnGemStripStation::ParseDeadZone
DeadZoneOfStripLayer ParseDeadZone(TXMLNode *node, Int_t iModule)
Definition
BmnGemStripStation.cxx:536
BmnGemStripStation::XMinStation
Double_t XMinStation
Definition
BmnGemStripStation.h:19
BmnGemStripStation::GetZMaxStation
Double_t GetZMaxStation()
Definition
BmnGemStripStation.h:68
BmnGemStripStation::YPosition
Double_t YPosition
Definition
BmnGemStripStation.h:31
BmnGemStripStation::DriftGapThicknessOfModules
Double_t * DriftGapThicknessOfModules
Definition
BmnGemStripStation.h:39
BmnGemStripStation::YShiftOfModules
Double_t * YShiftOfModules
Definition
BmnGemStripStation.h:36
BmnGemStripStation::GetYMinStation
Double_t GetYMinStation()
Definition
BmnGemStripStation.h:65
BmnGemStripStation::GetXMinStation
Double_t GetXMinStation()
Definition
BmnGemStripStation.h:63
BmnGemStripStation::NModules
Int_t NModules
Definition
BmnGemStripStation.h:17
BmnGemStripStation::BmnGemStripStation
BmnGemStripStation()
Definition
BmnGemStripStation.cxx:3
BmnGemStripStation::YSize
Double_t YSize
Definition
BmnGemStripStation.h:27
BmnGemStripStation::CountDeadZonePoints
Int_t CountDeadZonePoints(TXMLNode *node)
Definition
BmnGemStripStation.cxx:579
BmnGemStripStation::GetYMaxStation
Double_t GetYMaxStation()
Definition
BmnGemStripStation.h:66
BmnGemStripStation::InductionGapThicknessOfModules
Double_t * InductionGapThicknessOfModules
Definition
BmnGemStripStation.h:42
BmnGemStripStation::AddPointToStation
Int_t AddPointToStation(Double_t xcoord, Double_t ycoord, Double_t zcoord, Double_t px, Double_t py, Double_t pz, Double_t dEloss, Int_t refID)
Definition
BmnGemStripStation.cxx:199
BmnGemStripStation::XPosition
Double_t XPosition
Definition
BmnGemStripStation.h:30
BmnGemStripStation::YMaxStation
Double_t YMaxStation
Definition
BmnGemStripStation.h:22
BmnGemStripStation::CreateConfigurationFromXMLNode
Bool_t CreateConfigurationFromXMLNode(TXMLNode *node)
Definition
BmnGemStripStation.cxx:284
BmnGemStripStation::BeamHoleRadius
Double_t BeamHoleRadius
Definition
BmnGemStripStation.h:44
BmnGemStripStation::CountNAddedToStationPoints
Int_t CountNAddedToStationPoints()
Definition
BmnGemStripStation.cxx:221
BmnGemStripStation::StationNumber
Int_t StationNumber
Definition
BmnGemStripStation.h:16
BmnGemStripStation::GetXSize
Double_t GetXSize()
Definition
BmnGemStripStation.h:69
BmnGemStripStation::GetBeamHoleRadius
Double_t GetBeamHoleRadius()
Definition
BmnGemStripStation.h:84
BmnGemStripStation::GetPointModuleOwnership
Int_t GetPointModuleOwnership(Double_t xcoord, Double_t ycoord, Double_t zcoord)
Definition
BmnGemStripStation.cxx:246
BmnGemStripStation::DefineStationBorders
void DefineStationBorders()
Definition
BmnGemStripStation.cxx:256
BmnGemStripStation::XMaxStation
Double_t XMaxStation
Definition
BmnGemStripStation.h:20
BmnGemStripStation::GetZMinStation
Double_t GetZMinStation()
Definition
BmnGemStripStation.h:67
BmnGemStripStation::GetFTransfGapThicknessOfModule
Double_t GetFTransfGapThicknessOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:156
BmnGemStripStation::GetYShiftOfModule
Double_t GetYShiftOfModule(Int_t module_num)
Definition
BmnGemStripStation.cxx:129
BmnGemStripStation::GetXPosition
Double_t GetXPosition()
Definition
BmnGemStripStation.h:72
BmnGemStripStation::ZMinStation
Double_t ZMinStation
Definition
BmnGemStripStation.h:23
BmnGemStripStation::ParseLayer
BmnGemStripLayer ParseLayer(TXMLNode *node, Int_t iLayer, Int_t iModule)
Definition
BmnGemStripStation.cxx:402
BmnGemStripStation::Reset
void Reset()
Definition
BmnGemStripStation.cxx:192
BmnGemStripStation::GetNModules
Int_t GetNModules()
Definition
BmnGemStripStation.h:62
BmnGemStripStation::XSize
Double_t XSize
Definition
BmnGemStripStation.h:26
BmnGemStripStation::GetYPosition
Double_t GetYPosition()
Definition
BmnGemStripStation.h:73
BmnGemStripStation::~BmnGemStripStation
virtual ~BmnGemStripStation()
Definition
BmnGemStripStation.cxx:75
BmnGemStripStation::ZSize
Double_t ZSize
Definition
BmnGemStripStation.h:28
DeadZoneOfStripLayer
Definition
BmnStripData.h:44
TXMLNode
BmnGemStripModule.h
detectors
gem
BmnGemStripStation.h
Generated on
for BmnRoot by
1.17.0