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) |
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 37 of file CbmStsStation.cxx.
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 58 of file CbmStsStation.cxx.
|
virtual |
Destructor
Definition at line 79 of file CbmStsStation.cxx.
|
private |
void CbmStsStation::AddLadder | ( | CbmStsElement * | ladder | ) |
Add a ladder to the station
Definition at line 84 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 98 of file CbmStsStation.cxx.
References fDiffSensorD, fFirstSensor, fLadders, fNofSensors, fSensorD, fZmax, fZmin, CbmStsElement::GetDaughter(), CbmStsElement::GetNofDaughters(), and CbmStsElement::GetPnode().
Referenced by Init().
|
private |
|
inline |
Radiation length of the main material of the station (silicon) @value 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 62 of file CbmStsStation.h.
|
inline |
Sensor thickness @value 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 74 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) @value 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 162 of file CbmStsStation.cxx.
References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), CbmStsSensor::GetParams(), kDssdOrtho, and kDssdStereo.
Referenced by CbmRecoStsPixel::ProcessData(), and ToString().
|
inline |
Sensor rotation @value 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 101 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) @value 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 177 of file CbmStsStation.cxx.
References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), CbmStsSensor::GetParams(), and kDssdStereo.
Referenced by ToString().
|
inline |
Definition at line 119 of file CbmStsStation.h.
References fXmax.
|
inline |
Minimal and maximal x and y coordinates
Definition at line 118 of file CbmStsStation.h.
References fXmin.
|
inline |
Definition at line 121 of file CbmStsStation.h.
References fYmax.
|
inline |
Definition at line 120 of file CbmStsStation.h.
References fYmin.
|
inline |
Station z position in global c.s. @value z Position of station in global C.S. [cm]
Calculated from the sensor positions (mean between min z and max z)
Definition at line 129 of file CbmStsStation.h.
Referenced by CbmEventBuilderQa::CalculateIsReconstructable(), 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 134 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 139 of file CbmStsStation.h.
References fZmin.
void CbmStsStation::Init | ( | ) |
Initialise the station parameters.
Definition at line 192 of file CbmStsStation.cxx.
References CheckSensorProperties(), fDiffSensorD, fFirstSensor, fLadders, fNode, fSensorRot, fXmax, fXmin, fYmax, fYmin, and CbmStsSensor::GetNode().
Referenced by CbmStsSetup::CreateStations().
|
private |
|
virtual |
Info
Definition at line 259 of file CbmStsStation.cxx.
References fFirstSensor, fNofSensors, fSensorD, fSensorRot, fXmax, fXmin, fYmax, fYmin, CbmStsSensor::GetParams(), GetSensorPitch(), GetSensorStereoAngle(), and GetZ().
|
private |
Flag for different sensor thicknesses.
Definition at line 160 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), and Init().
|
private |
Pointer to first sensor.
Definition at line 161 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), GetSensorPitch(), GetSensorStereoAngle(), Init(), and ToString().
|
private |
Array of ladders.
Definition at line 164 of file CbmStsStation.h.
Referenced by AddLadder(), CheckSensorProperties(), and Init().
|
private |
|
private |
Number of sensors in station.
Definition at line 159 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), and ToString().
|
private |
thickness of sensors [cm]
Definition at line 157 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), GetSensorD(), and ToString().
|
private |
Rotation of first sensor in global c.s. [rad].
Definition at line 158 of file CbmStsStation.h.
Referenced by GetSensorRotation(), Init(), and ToString().
|
private |
maximal x coordinate [cm]
Definition at line 152 of file CbmStsStation.h.
Referenced by GetXmax(), Init(), and ToString().
|
private |
minimal x coordinate [cm]
Definition at line 151 of file CbmStsStation.h.
Referenced by GetXmin(), Init(), and ToString().
|
private |
maximal y coordinate [cm]
Definition at line 154 of file CbmStsStation.h.
Referenced by GetYmax(), Init(), and ToString().
|
private |
minimal y coordinate [cm]
Definition at line 153 of file CbmStsStation.h.
Referenced by GetYmin(), Init(), and ToString().
|
private |
maximal z coordinate [cm]
Definition at line 156 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), GetZ(), and GetZmax().
|
private |
minimal z coordinate [cm]
Definition at line 155 of file CbmStsStation.h.
Referenced by CheckSensorProperties(), GetZ(), and GetZmin().