BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnSiBTStation.h
Go to the documentation of this file.
1#ifndef BMNSiBTSTATION_H
2#define BMNSiBTSTATION_H
3
4#include "BmnSiBTModule.h"
5#include "BmnStripData.h"
6#include "TDOMParser.h"
7#include "TList.h"
8#include "TXMLAttr.h"
9#include "TXMLNode.h"
10
12{
13
14 protected:
15 /* station parameters */
18
25
29
33
34 /*Shifts of modules in each station*/
38
40
41 BmnSiBTModule** Modules; // modules in the station [array]
42
43 public:
44 /* Constructor */
46
47 BmnSiBTStation(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 ~BmnSiBTStation();
55
56 // Getters
65 Double_t GetXSize() { return XSize; }
66 Double_t GetYSize() { return YSize; }
67 Double_t GetZSize() { return ZSize; }
74
76
77 BmnSiBTModule* GetModule(Int_t module_num);
78
79 // Reset all data in modules of the station
80 void Reset();
81
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
92
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
101
102 //--------------------------------------------------------------------------
103
104 protected:
106
107 private:
110 Bool_t ParseModule(TXMLNode* node, Int_t iModule);
111 BmnSiBTLayer ParseLayer(TXMLNode* node, Int_t iLayer, Int_t iModule);
114
116};
117
118#endif
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
Double_t GetZSize()
Double_t GetThicknessOfModule(Int_t module_num)
void ProcessPointsInStation()
Double_t ZMinStation
Int_t CountNAddedToStationPoints()
Double_t GetZShiftOfModule(Int_t module_num)
virtual ~BmnSiBTStation()
BmnSiBTModule * GetModule(Int_t module_num)
Bool_t CreateConfigurationFromXMLNode(TXMLNode *node)
DeadZoneOfStripLayer ParseDeadZone(TXMLNode *node, Int_t iModule)
Double_t * ThicknessOfModules
BmnSiBTLayer ParseLayer(TXMLNode *node, Int_t iLayer, Int_t iModule)
Double_t XMaxStation
Int_t CountNumberOfModules(TXMLNode *node)
Double_t GetYShiftOfModule(Int_t module_num)
Double_t YMaxStation
Int_t CountDeadZonePoints(TXMLNode *node)
Int_t GetStationNumber()
Int_t CountNProcessedPointInStation()
Double_t * ZShiftOfModules
Double_t GetXShiftOfModule(Int_t module_num)
Double_t YMinStation
Bool_t ParseModule(TXMLNode *node, Int_t iModule)
Double_t GetZPosition()
Double_t GetZMaxStation()
Double_t GetZMinStation()
Double_t GetYPosition()
Double_t GetXSize()
Double_t GetYMaxStation()
Double_t GetXPosition()
BmnSiBTModule ** Modules
Double_t ZMaxStation
Double_t * YShiftOfModules
Double_t GetXMaxStation()
Double_t GetYSize()
Double_t XMinStation
Double_t GetXMinStation()
Double_t * XShiftOfModules
Int_t GetPointModuleOwnership(Double_t xcoord, Double_t ycoord, Double_t zcoord)
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)
Double_t GetYMinStation()