CbmRoot
Loading...
Searching...
No Matches
CbmStsStation.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer] */
4
10#ifndef CBMSTSSTATION_H
11#define CBMSTSSTATION_H 1
12
13#include <Rtypes.h> // for THashConsistencyHolder, ClassDef
14#include <RtypesCore.h> // for Double_t, Int_t, Bool_t
15#include <TNamed.h> // for TNamed
16
17#include <string> // for string
18#include <vector> // for vector
19
20class CbmStsElement;
21class CbmStsSensor;
22class TGeoPhysicalNode;
23
33class CbmStsStation : public TNamed {
34
35public:
38
39
45 CbmStsStation(const char* name, const char* title, TGeoPhysicalNode* node = nullptr);
46
47
49 virtual ~CbmStsStation();
50
51
53 void AddLadder(CbmStsElement* ladder);
54
55
62 Double_t GetRadLength() const { return 9.34953; }
63
64
74 Double_t GetSensorD() const { return fSensorD; }
75
76
89 Double_t GetSensorPitch(Int_t iSide) const;
90
91
101 Double_t GetSensorRotation() const { return fSensorRot; }
102
103
114 Double_t GetSensorStereoAngle(Int_t iSide) const;
115
116
118 Double_t GetXmin() const { return fXmin; }
119 Double_t GetXmax() const { return fXmax; }
120 Double_t GetYmin() const { return fYmin; }
121 Double_t GetYmax() const { return fYmax; }
122
123
129 Double_t GetZ() const { return 0.5 * (fZmin + fZmax); }
130
134 Double_t GetZmax() const { return fZmax; }
135
139 Double_t GetZmin() const { return fZmin; }
140
141
143 void Init();
144
145
147 virtual std::string ToString() const;
148
149
150private:
151 Double_t fXmin;
152 Double_t fXmax;
153 Double_t fYmin;
154 Double_t fYmax;
155 Double_t fZmin;
156 Double_t fZmax;
157 Double_t fSensorD;
158 Double_t fSensorRot;
162
163 TGeoPhysicalNode* fNode;
164 std::vector<CbmStsElement*> fLadders;
165
166
175
176
177 // --- Prevent usage of copy constructor and assignment operator
180
181
183};
184
185#endif /* CBMSTSSTATION_H */
Class representing an element of the STS setup.
Class representing an instance of a sensor in the CBM-STS.
Class representing a station of the StsSystem.
Double_t fXmin
minimal x coordinate [cm]
Double_t fZmin
minimal z coordinate [cm]
void Init()
Initialise the station parameters.
Double_t GetXmax() const
Double_t GetZmin() const
Gets minimal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [c...
Double_t GetRadLength() const
void CheckSensorProperties()
Check properties of sensors (position, thickness) The z position of the station is determined as the ...
Double_t fZmax
maximal z coordinate [cm]
Int_t fNofSensors
Number of sensors in station.
Double_t GetSensorPitch(Int_t iSide) const
CbmStsStation & operator=(const CbmStsStation &)
Double_t GetSensorD() const
TGeoPhysicalNode * fNode
Pointer to geometry.
Double_t GetZmax() const
Gets maximal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [c...
ClassDef(CbmStsStation, 1)
CbmStsStation(const CbmStsStation &)
Double_t fSensorD
thickness of sensors [cm]
Double_t GetYmin() const
Double_t GetXmin() const
Double_t fXmax
maximal x coordinate [cm]
Double_t GetSensorStereoAngle(Int_t iSide) const
virtual std::string ToString() const
void AddLadder(CbmStsElement *ladder)
Double_t fYmax
maximal y coordinate [cm]
Double_t GetYmax() const
CbmStsSensor * fFirstSensor
Pointer to first sensor.
Double_t GetZ() const
Double_t fYmin
minimal y coordinate [cm]
Double_t GetSensorRotation() const
virtual ~CbmStsStation()
Double_t fSensorRot
Rotation of first sensor in global c.s. [rad].
std::vector< CbmStsElement * > fLadders
Array of ladders.
Bool_t fDiffSensorD
Flag for different sensor thicknesses.