CbmRoot
CbmStsStation.h
Go to the documentation of this file.
1 
6 #ifndef CBMSTSSTATION_H
7 #define CBMSTSSTATION_H 1
8 
9 #include <Rtypes.h> // for THashConsistencyHolder, ClassDef
10 #include <RtypesCore.h> // for Double_t, Int_t, Bool_t
11 #include <TNamed.h> // for TNamed
12 
13 #include <string> // for string
14 #include <vector> // for vector
15 
16 class CbmStsElement;
17 class CbmStsSensor;
18 class TGeoPhysicalNode;
19 
29 class CbmStsStation : public TNamed {
30 
31 public:
33  CbmStsStation();
34 
35 
41  CbmStsStation(const char* name,
42  const char* title,
43  TGeoPhysicalNode* node = nullptr);
44 
45 
47  virtual ~CbmStsStation();
48 
49 
51  void AddLadder(CbmStsElement* ladder);
52 
53 
60  Double_t GetRadLength() const { return 9.34953; }
61 
62 
72  Double_t GetSensorD() const { return fSensorD; }
73 
74 
87  Double_t GetSensorPitch(Int_t iSide) const;
88 
89 
99  Double_t GetSensorRotation() const { return fSensorRot; }
100 
101 
112  Double_t GetSensorStereoAngle(Int_t iSide) const;
113 
114 
116  Double_t GetXmin() const { return fXmin; }
117  Double_t GetXmax() const { return fXmax; }
118  Double_t GetYmin() const { return fYmin; }
119  Double_t GetYmax() const { return fYmax; }
120 
121 
127  Double_t GetZ() const { return fZ; }
128 
129 
131  void Init();
132 
133 
135  virtual std::string ToString() const;
136 
137 
138 private:
139  Double_t fZ;
140  Double_t fXmin;
141  Double_t fXmax;
142  Double_t fYmin;
143  Double_t fYmax;
144  Double_t fSensorD;
145  Double_t fSensorRot;
146  Int_t fNofSensors;
147  Bool_t fDiffSensorD;
149 
150  TGeoPhysicalNode* fNode;
151  std::vector<CbmStsElement*> fLadders;
152 
153 
161  void CheckSensorProperties();
162 
163 
164  // --- Prevent usage of copy constructor and assignment operator
167 
168 
170 };
171 
172 #endif /* CBMSTSSTATION_H */
CbmStsStation::fXmax
Double_t fXmax
maximal x coordinate [cm]
Definition: CbmStsStation.h:141
CbmStsStation::fYmin
Double_t fYmin
minimal y coordinate [cm]
Definition: CbmStsStation.h:142
CbmStsStation::GetZ
Double_t GetZ() const
Definition: CbmStsStation.h:127
CbmStsStation::CbmStsStation
CbmStsStation()
Definition: CbmStsStation.cxx:32
CbmStsStation::fNode
TGeoPhysicalNode * fNode
Pointer to geometry.
Definition: CbmStsStation.h:150
CbmStsStation::GetYmax
Double_t GetYmax() const
Definition: CbmStsStation.h:119
CbmStsStation::AddLadder
void AddLadder(CbmStsElement *ladder)
Definition: CbmStsStation.cxx:75
CbmStsStation::fFirstSensor
CbmStsSensor * fFirstSensor
Pointer to first sensor.
Definition: CbmStsStation.h:148
CbmStsStation::fNofSensors
Int_t fNofSensors
Number of sensors in station.
Definition: CbmStsStation.h:146
CbmStsStation::fSensorRot
Double_t fSensorRot
Rotation of first sensor in global c.s. [rad].
Definition: CbmStsStation.h:145
CbmStsStation::GetXmin
Double_t GetXmin() const
Definition: CbmStsStation.h:116
CbmStsStation::fZ
Double_t fZ
z position of station [cm]
Definition: CbmStsStation.h:139
CbmStsStation::GetRadLength
Double_t GetRadLength() const
Definition: CbmStsStation.h:60
CbmStsStation::GetSensorStereoAngle
Double_t GetSensorStereoAngle(Int_t iSide) const
Definition: CbmStsStation.cxx:166
CbmStsStation::GetSensorD
Double_t GetSensorD() const
Definition: CbmStsStation.h:72
CbmStsStation::fSensorD
Double_t fSensorD
thickness of sensors [cm]
Definition: CbmStsStation.h:144
CbmStsStation::ClassDef
ClassDef(CbmStsStation, 1)
CbmStsStation::CheckSensorProperties
void CheckSensorProperties()
Check properties of sensors (position, thickness) The z position of the station is determined as the ...
Definition: CbmStsStation.cxx:88
CbmStsStation::GetSensorPitch
Double_t GetSensorPitch(Int_t iSide) const
Definition: CbmStsStation.cxx:151
CbmStsSensor
Class representing an instance of a sensor in the CBM-STS.
Definition: CbmStsSensor.h:38
CbmStsStation::fXmin
Double_t fXmin
minimal x coordinate [cm]
Definition: CbmStsStation.h:140
CbmStsStation::fLadders
std::vector< CbmStsElement * > fLadders
Array of ladders.
Definition: CbmStsStation.h:151
CbmStsStation::fYmax
Double_t fYmax
maximal y coordinate [cm]
Definition: CbmStsStation.h:143
CbmStsStation::CbmStsStation
CbmStsStation(const CbmStsStation &)
CbmStsStation::fDiffSensorD
Bool_t fDiffSensorD
Flag for different sensor thicknesses.
Definition: CbmStsStation.h:147
CbmStsStation::operator=
CbmStsStation & operator=(const CbmStsStation &)
CbmStsStation::GetYmin
Double_t GetYmin() const
Definition: CbmStsStation.h:118
CbmStsStation::ToString
virtual std::string ToString() const
Definition: CbmStsStation.cxx:247
CbmStsStation::GetXmax
Double_t GetXmax() const
Definition: CbmStsStation.h:117
CbmStsStation::Init
void Init()
Initialise the station parameters.
Definition: CbmStsStation.cxx:180
CbmStsElement
Class representing an element of the STS setup.
Definition: CbmStsElement.h:32
CbmStsStation
Class representing a station of the StsSystem.
Definition: CbmStsStation.h:29
CbmStsStation::GetSensorRotation
Double_t GetSensorRotation() const
Definition: CbmStsStation.h:99
CbmStsStation::~CbmStsStation
virtual ~CbmStsStation()
Definition: CbmStsStation.cxx:70