BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnGemStripStationSet.h
Go to the documentation of this file.
1
#ifndef BMNGEMSTRIPSTATIONSET_H
2
#define BMNGEMSTRIPSTATIONSET_H
3
4
#include "BmnEnums.h"
5
#include "
BmnGemStripStation.h
"
6
#include "BmnStripData.h"
7
#include "
TDOMParser.h
"
8
#include "
TList.h
"
9
#include "
TXMLAttr.h
"
10
#include "
TXMLNode.h
"
11
12
#include <
TVector3.h
>
13
14
class
BmnGemStripStationSet
:
public
TObject
15
{
16
protected
:
17
/* station set parameters*/
18
Int_t
NStations
;
// number of stations in the GEM detector
19
20
Double_t
*
XStationPositions
;
//[NStations] x-position of each station [array]
21
Double_t
*
YStationPositions
;
//[NStations] y-position of each station [array]
22
Double_t
*
ZStationPositions
;
//[NStations] z-position of each station [array]
23
24
Double_t
*
BeamHoleRadiuses
;
//[NStations] beam hole radius of each station [array]
25
26
BmnGemStripStation
**
GemStations
;
//[NStations] GEM stations [array]
27
map<Int_t, TVector3>*
fStatShifts
;
//->
28
29
public
:
30
/* Constructor */
31
BmnGemStripStationSet
();
32
BmnGemStripStationSet
(
TString
xml_config_file, map<Int_t, TVector3>* shifts =
nullptr
);
33
BmnGemStripStationSet
(
Int_t
period, BmnSetup stp =
kBMNSETUP
, map<Int_t, TVector3>* shifts =
nullptr
);
34
static
unique_ptr<BmnGemStripStationSet>
Create
(
Int_t
period,
Int_t
stp = 0);
35
/* Destructor */
36
virtual
~BmnGemStripStationSet
();
37
38
/* Getters */
39
Int_t
GetNStations
() {
return
NStations
; };
40
Double_t
GetXStationPosition
(
Int_t
station_num);
41
Double_t
GetYStationPosition
(
Int_t
station_num);
42
Double_t
GetZStationPosition
(
Int_t
station_num);
43
Double_t
GetBeamHoleRadius
(
Int_t
station_num);
44
BmnGemStripStation
*
GetGemStation
(
Int_t
station_num);
45
BmnGemStripStation
*
GetStation
(
Int_t
station_num) {
return
GetGemStation
(station_num); }
46
47
// Reset all data in stations of the station set
48
void
Reset
();
49
50
////If you use this function in any outer code, don't forget to invert the 'xcoord' parameter!
51
Bool_t
AddPointToDetector
(
Double_t
xcoord,
52
Double_t
ycoord,
53
Double_t
zcoord,
54
Double_t
px,
55
Double_t
py,
56
Double_t
pz,
57
Double_t
dEloss,
58
Int_t
refID);
59
60
Int_t
CountNAddedToDetectorPoints
();
61
62
void
ProcessPointsInDetector
();
63
Int_t
CountNProcessedPointsInDetector
();
64
65
// which station in the GEM detector does a point belong to? ----------------
66
67
// This is an OLD version of the function being used in case of parallel stations
68
Int_t
GetPointStationOwnership
(
Double_t
zcoord);
69
70
// If you use this function in any outer code, don't forget to invert the 'xcoord' parameter!
71
Int_t
GetPointStationOwnership
(
Double_t
xcoord,
Double_t
ycoord,
Double_t
zcoord);
72
73
//--------------------------------------------------------------------------
74
75
private
:
76
Bool_t
CreateConfigurationFromXMLFile
(
TString
xml_config_file);
77
Int_t
CountNumberOfStations
(
TXMLNode
* node);
78
Bool_t
ParseStation
(
TXMLNode
* node,
Int_t
iStation);
79
80
ClassDef
(
BmnGemStripStationSet
, 1);
81
};
82
83
#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
TVector3.h
TXMLAttr.h
TXMLNode.h
kBMNSETUP
@ kBMNSETUP
Definition
BmnEnums.h:166
BmnGemStripStationSet
Definition
BmnGemStripStationSet.h:15
BmnGemStripStationSet::GemStations
BmnGemStripStation ** GemStations
Definition
BmnGemStripStationSet.h:26
BmnGemStripStationSet::BmnGemStripStationSet
BmnGemStripStationSet()
Definition
BmnGemStripStationSet.cxx:9
BmnGemStripStationSet::CountNAddedToDetectorPoints
Int_t CountNAddedToDetectorPoints()
Definition
BmnGemStripStationSet.cxx:187
BmnGemStripStationSet::GetStation
BmnGemStripStation * GetStation(Int_t station_num)
Definition
BmnGemStripStationSet.h:45
BmnGemStripStationSet::fStatShifts
map< Int_t, TVector3 > * fStatShifts
Definition
BmnGemStripStationSet.h:27
BmnGemStripStationSet::CreateConfigurationFromXMLFile
Bool_t CreateConfigurationFromXMLFile(TString xml_config_file)
Definition
BmnGemStripStationSet.cxx:247
BmnGemStripStationSet::GetXStationPosition
Double_t GetXStationPosition(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:114
BmnGemStripStationSet::~BmnGemStripStationSet
virtual ~BmnGemStripStationSet()
Definition
BmnGemStripStationSet.cxx:81
BmnGemStripStationSet::YStationPositions
Double_t * YStationPositions
Definition
BmnGemStripStationSet.h:21
BmnGemStripStationSet::NStations
Int_t NStations
Definition
BmnGemStripStationSet.h:18
BmnGemStripStationSet::GetGemStation
BmnGemStripStation * GetGemStation(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:150
BmnGemStripStationSet::Create
static unique_ptr< BmnGemStripStationSet > Create(Int_t period, Int_t stp=0)
Definition
BmnGemStripStationSet.cxx:362
BmnGemStripStationSet::CountNumberOfStations
Int_t CountNumberOfStations(TXMLNode *node)
Definition
BmnGemStripStationSet.cxx:303
BmnGemStripStationSet::ParseStation
Bool_t ParseStation(TXMLNode *node, Int_t iStation)
Definition
BmnGemStripStationSet.cxx:316
BmnGemStripStationSet::BeamHoleRadiuses
Double_t * BeamHoleRadiuses
Definition
BmnGemStripStationSet.h:24
BmnGemStripStationSet::ProcessPointsInDetector
void ProcessPointsInDetector()
Definition
BmnGemStripStationSet.cxx:196
BmnGemStripStationSet::CountNProcessedPointsInDetector
Int_t CountNProcessedPointsInDetector()
Definition
BmnGemStripStationSet.cxx:203
BmnGemStripStationSet::GetZStationPosition
Double_t GetZStationPosition(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:132
BmnGemStripStationSet::GetYStationPosition
Double_t GetYStationPosition(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:123
BmnGemStripStationSet::GetBeamHoleRadius
Double_t GetBeamHoleRadius(Int_t station_num)
Definition
BmnGemStripStationSet.cxx:141
BmnGemStripStationSet::XStationPositions
Double_t * XStationPositions
Definition
BmnGemStripStationSet.h:20
BmnGemStripStationSet::ZStationPositions
Double_t * ZStationPositions
Definition
BmnGemStripStationSet.h:22
BmnGemStripStationSet::GetPointStationOwnership
Int_t GetPointStationOwnership(Double_t zcoord)
Definition
BmnGemStripStationSet.cxx:212
BmnGemStripStationSet::GetNStations
Int_t GetNStations()
Definition
BmnGemStripStationSet.h:39
BmnGemStripStationSet::AddPointToDetector
Bool_t AddPointToDetector(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
BmnGemStripStationSet.cxx:166
BmnGemStripStationSet::Reset
void Reset()
Definition
BmnGemStripStationSet.cxx:159
BmnGemStripStation
Definition
BmnGemStripStation.h:12
TObject::TObject
TObject()
TString
TXMLNode
BmnGemStripStation.h
detectors
gem
BmnGemStripStationSet.h
Generated on
for BmnRoot by
1.17.0