|
CbmRoot
|
Class representing a station of the StsSystem. More...
#include <CbmStsStation.h>
Public Member Functions | |
| CbmStsStation () | |
| CbmStsStation (const char *name, const char *title, TGeoPhysicalNode *node=nullptr) | |
| virtual | ~CbmStsStation () |
| void | AddLadder (CbmStsElement *ladder) |
| const CbmStsElement * | GetLadder (Int_t iLadder) const |
| Int_t | GetNofLadders () const |
| Double_t | GetRadLength () const |
| Double_t | GetSensorD () const |
| Double_t | GetSensorPitch (Int_t iSide) const |
| Double_t | GetSensorRotation () const |
| Double_t | GetSensorStereoAngle (Int_t iSide) const |
| Double_t | GetXmin () const |
| Double_t | GetXmax () const |
| Double_t | GetYmin () const |
| Double_t | GetYmax () const |
| Double_t | GetZ () const |
| Double_t | GetZmax () const |
| Gets maximal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [cm]. | |
| Double_t | GetZmin () const |
| Gets minimal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [cm]. | |
| void | Init () |
| Initialise the station parameters. | |
| virtual std::string | ToString () const |
Private Member Functions | |
| void | CheckSensorProperties () |
| Check properties of sensors (position, thickness) The z position of the station is determined as the mean of the minimum and maximum z positions of all sensors within the station. The active thickness of the first sensor is defined as thickness of the entire station. A warning is given out if there are different thicknesses among the sensors in the stations. | |
| CbmStsStation (const CbmStsStation &) | |
| CbmStsStation & | operator= (const CbmStsStation &) |
| ClassDef (CbmStsStation, 1) | |
Private Attributes | |
| Double_t | fXmin |
| minimal x coordinate [cm] | |
| Double_t | fXmax |
| maximal x coordinate [cm] | |
| Double_t | fYmin |
| minimal y coordinate [cm] | |
| Double_t | fYmax |
| maximal y coordinate [cm] | |
| Double_t | fZmin |
| minimal z coordinate [cm] | |
| Double_t | fZmax |
| maximal z coordinate [cm] | |
| Double_t | fSensorD |
| thickness of sensors [cm] | |
| Double_t | fSensorRot |
| Rotation of first sensor in global c.s. [rad]. | |
| Int_t | fNofSensors |
| Number of sensors in station. | |
| Bool_t | fDiffSensorD |
| Flag for different sensor thicknesses. | |
| CbmStsSensor * | fFirstSensor |
| Pointer to first sensor. | |
| TGeoPhysicalNode * | fNode |
| Pointer to geometry. | |
| std::vector< CbmStsElement * > | fLadders |
| Array of ladders. | |
Class representing a station of the StsSystem.
The StsStation class represents one level in the STS element hierarchy. It holds station-wide parameters like z position, sensor thickness, and material budget for use in reconstruction tasks.
Definition at line 33 of file CbmStsStation.h.
| CbmStsStation::CbmStsStation | ( | ) |
Default constructor
Definition at line 36 of file CbmStsStation.cxx.
References fDiffSensorD, fFirstSensor, fLadders, fNode, fNofSensors, fSensorD, fSensorRot, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.
Referenced by CbmStsStation(), ClassDef(), and operator=().
| CbmStsStation::CbmStsStation | ( | const char * | name, |
| const char * | title, | ||
| TGeoPhysicalNode * | node = nullptr ) |
Standard constructor
| name | Station name |
| title | Station type |
| node | Pointer to corresponding TGeoPhysicalNode |
Definition at line 57 of file CbmStsStation.cxx.
References fDiffSensorD, fFirstSensor, fLadders, fNode, fNofSensors, fSensorD, fSensorRot, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.
|
virtual |
Destructor
Definition at line 78 of file CbmStsStation.cxx.
|
private |
References CbmStsStation().
| void CbmStsStation::AddLadder | ( | CbmStsElement * | ladder | ) |
Add a ladder to the station
Definition at line 83 of file CbmStsStation.cxx.
References fLadders, CbmStsElement::GetLevel(), and kStsLadder.
Referenced by CbmStsSetup::CreateStations().
|
private |
Check properties of sensors (position, thickness) The z position of the station is determined as the mean of the minimum and maximum z positions of all sensors within the station. The active thickness of the first sensor is defined as thickness of the entire station. A warning is given out if there are different thicknesses among the sensors in the stations.
Definition at line 97 of file CbmStsStation.cxx.
References fDiffSensorD, fFirstSensor, fLadders, fNofSensors, fSensorD, fZmax, fZmin, CbmStsElement::GetDaughter(), CbmStsElement::GetNofDaughters(), and CbmStsElement::GetPnode().
Referenced by Init().
|
private |
References CbmStsStation().
|
inline |
Constant access to the ladder
| iLadder | Index of ladder |
Definition at line 58 of file CbmStsStation.h.
References fLadders.
Referenced by cbm::sts::RecoSetupUnitFactory::CreateStationIdMap().
|
inline |
Get number of ladders, attached to the station
Definition at line 62 of file CbmStsStation.h.
References fLadders.
Referenced by cbm::sts::RecoSetupUnitFactory::CreateStationIdMap().
|
inline |
Radiation length of the main material of the station (silicon)
| Radiation | length of silicon [cm] |
Required from L1/KF. The value for silicon is hard-coded here, since it is not likely that the material will change.
Definition at line 71 of file CbmStsStation.h.
|
inline |
Sensor thickness
| Thickness | (extension in z) of first sensor [cm] |
This return the thickness of the first sensor in the station. Needed by L1/KF. Note that in general, sensors of different thicknesses can be in the station. In this case, a warning message is issued when the station properties are initialised.
Definition at line 83 of file CbmStsStation.h.
References fSensorD.
| Double_t CbmStsStation::GetSensorPitch | ( | Int_t | iSide | ) | const |
Get sensor strip pitch
| iSide | Sensor side (0 = front, 1 = back) |
| Strip | pitch [cm] |
This return the strip pitch of the first sensor in the station. Valid only for sensors of type DSSD. Needed by L1/KF. Note that in general, sensors of different pitches can be in the station.
Returns -1 if there are no sensors in the station or the first sensor is not of type DSSD.
Definition at line 161 of file CbmStsStation.cxx.
References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), kDssdOrtho, and kDssdStereo.
Referenced by CbmRecoStsPixel::ProcessData(), and ToString().
|
inline |
Sensor rotation
| Rotation | of first sensor in station in global C.S. [rad] |
This return the rotation angle in the x-y plane of the first sensor in the station w.r.t. the global C.S. Needed by L1/KF. Note that in general, the rotation angle will be different for each sensor. In particular, half of them are upside down.
Definition at line 109 of file CbmStsStation.h.
References fSensorRot.
| Double_t CbmStsStation::GetSensorStereoAngle | ( | Int_t | iSide | ) | const |
Get sensor stereo angle
| iSide | Sensor side (0 = front, 1 = back) |
| Stereo | angle [degrees] |
This return the strip stereo angle of the first sensor in the station. Valid only for sensors of type DSSD. Needed by L1/KF. Note that in general, sensors of different stereo angles can be in the station.
Definition at line 176 of file CbmStsStation.cxx.
References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), and kDssdStereo.
Referenced by ToString().
|
inline |
Definition at line 127 of file CbmStsStation.h.
References fXmax.
Referenced by CbmStsAnaBase::LoadSetup().
|
inline |
Minimal and maximal x and y coordinates
Definition at line 126 of file CbmStsStation.h.
References fXmin.
Referenced by CbmStsAnaBase::LoadSetup().
|
inline |
Definition at line 129 of file CbmStsStation.h.
References fYmax.
Referenced by CbmStsAnaBase::LoadSetup().
|
inline |
Definition at line 128 of file CbmStsStation.h.
References fYmin.
Referenced by CbmStsAnaBase::LoadSetup().
|
inline |
Station z position in global c.s.
| z | Position of station in global C.S. [cm] |
Calculated from the sensor positions (mean between min z and max z)
Definition at line 137 of file CbmStsStation.h.
Referenced by CbmEventBuilderQa::CalculateIsReconstructable(), CbmStsAnaBase::LoadSetup(), CbmRecoStsPixel::ProcessData(), and ToString().
|
inline |
Gets maximal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [cm].
Definition at line 142 of file CbmStsStation.h.
References fZmax.
|
inline |
Gets minimal z-coordinate of the tracking station in global C.S. (including sensor half-thickness) [cm].
Definition at line 147 of file CbmStsStation.h.
References fZmin.
| void CbmStsStation::Init | ( | ) |
Initialise the station parameters.
Definition at line 191 of file CbmStsStation.cxx.
References CheckSensorProperties(), fDiffSensorD, fFirstSensor, fLadders, fNode, fSensorRot, fXmax, fXmin, fYmax, and fYmin.
Referenced by CbmStsSetup::CreateStations().
|
private |
References CbmStsStation().
|
virtual |
Info
Definition at line 258 of file CbmStsStation.cxx.
References fFirstSensor, fNofSensors, fSensorD, fSensorRot, fXmax, fXmin, fYmax, fYmin, GetSensorPitch(), GetSensorStereoAngle(), and GetZ().
|
private |
Flag for different sensor thicknesses.
Definition at line 168 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), and Init().
|
private |
Pointer to first sensor.
Definition at line 169 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetSensorPitch(), GetSensorStereoAngle(), Init(), and ToString().
|
private |
Array of ladders.
Definition at line 172 of file CbmStsStation.h.
Referenced by AddLadder(), CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetLadder(), GetNofLadders(), and Init().
|
private |
Pointer to geometry.
Definition at line 171 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), and Init().
|
private |
Number of sensors in station.
Definition at line 167 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), and ToString().
|
private |
thickness of sensors [cm]
Definition at line 165 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetSensorD(), and ToString().
|
private |
Rotation of first sensor in global c.s. [rad].
Definition at line 166 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), GetSensorRotation(), Init(), and ToString().
|
private |
maximal x coordinate [cm]
Definition at line 160 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), GetXmax(), Init(), and ToString().
|
private |
minimal x coordinate [cm]
Definition at line 159 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), GetXmin(), Init(), and ToString().
|
private |
maximal y coordinate [cm]
Definition at line 162 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), GetYmax(), Init(), and ToString().
|
private |
minimal y coordinate [cm]
Definition at line 161 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), GetYmin(), Init(), and ToString().
|
private |
maximal z coordinate [cm]
Definition at line 164 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetZ(), and GetZmax().
|
private |
minimal z coordinate [cm]
Definition at line 163 of file CbmStsStation.h.
Referenced by CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetZ(), and GetZmin().