BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
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
12{
13
14 protected:
15 /* station parameters */
18
25
29
33
34 /*Shifts of modules in each station*/
38
40
41 BmnCSCModule** Modules; // modules in the station [array]
42
43 public:
44 /* Constructor */
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
65 Double_t GetXSize() { return XSize; }
66 Double_t GetYSize() { return YSize; }
67 Double_t GetZSize() { return ZSize; }
74
76
77 BmnCSCModule* 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 BmnCSCLayer 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 ZMaxStation
BmnCSCModule ** Modules
Double_t * YShiftOfModules
Double_t ZMinStation
Double_t GetXMinStation()
Double_t GetYMaxStation()
Bool_t ParseModule(TXMLNode *node, Int_t iModule)
Double_t GetZShiftOfModule(Int_t module_num)
DeadZoneOfStripLayer ParseDeadZone(TXMLNode *node, Int_t iModule)
Double_t GetYShiftOfModule(Int_t module_num)
Double_t * ZShiftOfModules
Int_t CountNAddedToStationPoints()
Int_t CountNProcessedPointInStation()
Double_t XPosition
void ProcessPointsInStation()
Int_t GetNModules()
Double_t XMaxStation
Double_t GetXShiftOfModule(Int_t module_num)
Int_t CountDeadZonePoints(TXMLNode *node)
Double_t GetZPosition()
Double_t GetThicknessOfModule(Int_t module_num)
Double_t YMaxStation
Double_t GetXPosition()
virtual ~BmnCSCStation()
Double_t GetZMinStation()
Double_t GetXSize()
Double_t * ThicknessOfModules
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)
Int_t GetPointModuleOwnership(Double_t xcoord, Double_t ycoord, Double_t zcoord)
BmnCSCModule * GetModule(Int_t module_num)
Double_t * XShiftOfModules
Int_t CountNumberOfModules(TXMLNode *node)
void DefineStationBorders()
Double_t GetXMaxStation()
BmnCSCLayer ParseLayer(TXMLNode *node, Int_t iLayer, Int_t iModule)
Double_t GetYSize()
Double_t ZPosition
Double_t YMinStation
Double_t GetYMinStation()
Double_t XMinStation
Double_t YPosition
Double_t GetZMaxStation()
Double_t GetYPosition()
Bool_t CreateConfigurationFromXMLNode(TXMLNode *node)
Int_t GetStationNumber()