BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnCSCStation.h
Go to the documentation of this file.
1
#ifndef BMNCSCSTATION_H
2
#define BMNCSCSTATION_H
3
4
#include "
BmnCSCModule.h
"
5
#include "BmnStripData.h"
6
#include "
TDOMParser.h
"
7
#include "
TList.h
"
8
#include "
TXMLAttr.h
"
9
#include "
TXMLNode.h
"
10
11
class
BmnCSCStation
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
;
36
Double_t
*
YShiftOfModules
;
37
Double_t
*
ZShiftOfModules
;
38
39
Double_t
*
ThicknessOfModules
;
40
41
BmnCSCModule
**
Modules
;
// modules in the station [array]
42
43
public
:
44
/* Constructor */
45
BmnCSCStation
();
46
47
BmnCSCStation
(
TXMLNode
* stationNode,
48
Int_t
iStation,
49
Double_t
xpos_station,
50
Double_t
ypos_station,
51
Double_t
zpos_station);
52
53
/* Destructor */
54
virtual
~BmnCSCStation
();
55
56
// Getters
57
Int_t
GetStationNumber
() {
return
StationNumber
; }
58
Int_t
GetNModules
() {
return
NModules
; }
59
Double_t
GetXMinStation
() {
return
XMinStation
; }
60
Double_t
GetXMaxStation
() {
return
XMaxStation
; }
61
Double_t
GetYMinStation
() {
return
YMinStation
; }
62
Double_t
GetYMaxStation
() {
return
YMaxStation
; }
63
Double_t
GetZMinStation
() {
return
ZMinStation
; }
64
Double_t
GetZMaxStation
() {
return
ZMaxStation
; }
65
Double_t
GetXSize
() {
return
XSize
; }
66
Double_t
GetYSize
() {
return
YSize
; }
67
Double_t
GetZSize
() {
return
ZSize
; }
68
Double_t
GetXPosition
() {
return
XPosition
; }
69
Double_t
GetYPosition
() {
return
YPosition
; }
70
Double_t
GetZPosition
() {
return
ZPosition
; }
71
Double_t
GetXShiftOfModule
(
Int_t
module_num);
72
Double_t
GetYShiftOfModule
(
Int_t
module_num);
73
Double_t
GetZShiftOfModule
(
Int_t
module_num);
74
75
Double_t
GetThicknessOfModule
(
Int_t
module_num);
76
77
BmnCSCModule
*
GetModule
(
Int_t
module_num);
78
79
// Reset all data in modules of the station
80
void
Reset
();
81
82
Int_t
AddPointToStation
(
Double_t
xcoord,
83
Double_t
ycoord,
84
Double_t
zcoord,
85
Double_t
px,
86
Double_t
py,
87
Double_t
pz,
88
Double_t
dEloss,
89
Int_t
refID);
90
91
Int_t
CountNAddedToStationPoints
();
92
93
void
ProcessPointsInStation
();
94
Int_t
CountNProcessedPointInStation
();
95
96
// Pure virtual methods (must be defined in derived classes) ---------------
97
98
// which module in the station does a point belong to?
99
// zcoord - is unused usually, but if modules in the station are (x,y)-overlapped then zcoord is important
100
Int_t
GetPointModuleOwnership
(
Double_t
xcoord,
Double_t
ycoord,
Double_t
zcoord);
101
102
//--------------------------------------------------------------------------
103
104
protected
:
105
void
DefineStationBorders
();
106
107
private
:
108
Bool_t
CreateConfigurationFromXMLNode
(
TXMLNode
* node);
109
Int_t
CountNumberOfModules
(
TXMLNode
* node);
110
Bool_t
ParseModule
(
TXMLNode
* node,
Int_t
iModule);
111
BmnCSCLayer
ParseLayer
(
TXMLNode
* node,
Int_t
iLayer,
Int_t
iModule);
112
DeadZoneOfStripLayer
ParseDeadZone
(
TXMLNode
* node,
Int_t
iModule);
113
Int_t
CountDeadZonePoints
(
TXMLNode
* node);
114
115
ClassDef
(
BmnCSCStation
, 1)
116
};
117
118
#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
BmnCSCLayer
Definition
BmnCSCLayer.h:15
BmnCSCModule
Definition
BmnCSCModule.h:14
BmnCSCStation
Definition
BmnCSCStation.h:12
BmnCSCStation::GetZSize
Double_t GetZSize()
Definition
BmnCSCStation.h:67
BmnCSCStation::ZMaxStation
Double_t ZMaxStation
Definition
BmnCSCStation.h:24
BmnCSCStation::Modules
BmnCSCModule ** Modules
Definition
BmnCSCStation.h:41
BmnCSCStation::YShiftOfModules
Double_t * YShiftOfModules
Definition
BmnCSCStation.h:36
BmnCSCStation::ZMinStation
Double_t ZMinStation
Definition
BmnCSCStation.h:23
BmnCSCStation::GetXMinStation
Double_t GetXMinStation()
Definition
BmnCSCStation.h:59
BmnCSCStation::GetYMaxStation
Double_t GetYMaxStation()
Definition
BmnCSCStation.h:62
BmnCSCStation::ParseModule
Bool_t ParseModule(TXMLNode *node, Int_t iModule)
Definition
BmnCSCStation.cxx:285
BmnCSCStation::GetZShiftOfModule
Double_t GetZShiftOfModule(Int_t module_num)
Definition
BmnCSCStation.cxx:115
BmnCSCStation::ParseDeadZone
DeadZoneOfStripLayer ParseDeadZone(TXMLNode *node, Int_t iModule)
Definition
BmnCSCStation.cxx:418
BmnCSCStation::GetYShiftOfModule
Double_t GetYShiftOfModule(Int_t module_num)
Definition
BmnCSCStation.cxx:106
BmnCSCStation::Reset
void Reset()
Definition
BmnCSCStation.cxx:142
BmnCSCStation::ZShiftOfModules
Double_t * ZShiftOfModules
Definition
BmnCSCStation.h:37
BmnCSCStation::CountNAddedToStationPoints
Int_t CountNAddedToStationPoints()
Definition
BmnCSCStation.cxx:173
BmnCSCStation::CountNProcessedPointInStation
Int_t CountNProcessedPointInStation()
Definition
BmnCSCStation.cxx:189
BmnCSCStation::XSize
Double_t XSize
Definition
BmnCSCStation.h:26
BmnCSCStation::XPosition
Double_t XPosition
Definition
BmnCSCStation.h:30
BmnCSCStation::ProcessPointsInStation
void ProcessPointsInStation()
Definition
BmnCSCStation.cxx:182
BmnCSCStation::GetNModules
Int_t GetNModules()
Definition
BmnCSCStation.h:58
BmnCSCStation::XMaxStation
Double_t XMaxStation
Definition
BmnCSCStation.h:20
BmnCSCStation::GetXShiftOfModule
Double_t GetXShiftOfModule(Int_t module_num)
Definition
BmnCSCStation.cxx:97
BmnCSCStation::YSize
Double_t YSize
Definition
BmnCSCStation.h:27
BmnCSCStation::BmnCSCStation
BmnCSCStation()
Definition
BmnCSCStation.cxx:3
BmnCSCStation::CountDeadZonePoints
Int_t CountDeadZonePoints(TXMLNode *node)
Definition
BmnCSCStation.cxx:461
BmnCSCStation::GetZPosition
Double_t GetZPosition()
Definition
BmnCSCStation.h:70
BmnCSCStation::GetThicknessOfModule
Double_t GetThicknessOfModule(Int_t module_num)
Definition
BmnCSCStation.cxx:124
BmnCSCStation::YMaxStation
Double_t YMaxStation
Definition
BmnCSCStation.h:22
BmnCSCStation::StationNumber
Int_t StationNumber
Definition
BmnCSCStation.h:16
BmnCSCStation::GetXPosition
Double_t GetXPosition()
Definition
BmnCSCStation.h:68
BmnCSCStation::~BmnCSCStation
virtual ~BmnCSCStation()
Definition
BmnCSCStation.cxx:64
BmnCSCStation::GetZMinStation
Double_t GetZMinStation()
Definition
BmnCSCStation.h:63
BmnCSCStation::GetXSize
Double_t GetXSize()
Definition
BmnCSCStation.h:65
BmnCSCStation::ThicknessOfModules
Double_t * ThicknessOfModules
Definition
BmnCSCStation.h:39
BmnCSCStation::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
BmnCSCStation.cxx:149
BmnCSCStation::GetPointModuleOwnership
Int_t GetPointModuleOwnership(Double_t xcoord, Double_t ycoord, Double_t zcoord)
Definition
BmnCSCStation.cxx:198
BmnCSCStation::ZSize
Double_t ZSize
Definition
BmnCSCStation.h:28
BmnCSCStation::GetModule
BmnCSCModule * GetModule(Int_t module_num)
Definition
BmnCSCStation.cxx:133
BmnCSCStation::XShiftOfModules
Double_t * XShiftOfModules
Definition
BmnCSCStation.h:35
BmnCSCStation::CountNumberOfModules
Int_t CountNumberOfModules(TXMLNode *node)
Definition
BmnCSCStation.cxx:272
BmnCSCStation::DefineStationBorders
void DefineStationBorders()
Definition
BmnCSCStation.cxx:208
BmnCSCStation::GetXMaxStation
Double_t GetXMaxStation()
Definition
BmnCSCStation.h:60
BmnCSCStation::ParseLayer
BmnCSCLayer ParseLayer(TXMLNode *node, Int_t iLayer, Int_t iModule)
Definition
BmnCSCStation.cxx:326
BmnCSCStation::GetYSize
Double_t GetYSize()
Definition
BmnCSCStation.h:66
BmnCSCStation::ZPosition
Double_t ZPosition
Definition
BmnCSCStation.h:32
BmnCSCStation::YMinStation
Double_t YMinStation
Definition
BmnCSCStation.h:21
BmnCSCStation::GetYMinStation
Double_t GetYMinStation()
Definition
BmnCSCStation.h:61
BmnCSCStation::XMinStation
Double_t XMinStation
Definition
BmnCSCStation.h:19
BmnCSCStation::YPosition
Double_t YPosition
Definition
BmnCSCStation.h:31
BmnCSCStation::GetZMaxStation
Double_t GetZMaxStation()
Definition
BmnCSCStation.h:64
BmnCSCStation::GetYPosition
Double_t GetYPosition()
Definition
BmnCSCStation.h:69
BmnCSCStation::NModules
Int_t NModules
Definition
BmnCSCStation.h:17
BmnCSCStation::CreateConfigurationFromXMLNode
Bool_t CreateConfigurationFromXMLNode(TXMLNode *node)
Definition
BmnCSCStation.cxx:236
BmnCSCStation::GetStationNumber
Int_t GetStationNumber()
Definition
BmnCSCStation.h:57
DeadZoneOfStripLayer
Definition
BmnStripData.h:44
TXMLNode
BmnCSCModule.h
detectors
csc
BmnCSCStation.h
Generated on
for BmnRoot by
1.17.0