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