CbmRoot
CbmStsStation Class Reference

Class representing a station of the StsSystem. More...

#include <CbmStsStation.h>

Inheritance diagram for CbmStsStation:
[legend]
Collaboration diagram for CbmStsStation:
[legend]

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
 
void Init ()
 Initialise the station parameters. More...
 
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. More...
 
 CbmStsStation (const CbmStsStation &)
 
CbmStsStationoperator= (const CbmStsStation &)
 
 ClassDef (CbmStsStation, 1)
 

Private Attributes

Double_t fZ
 z position of station [cm] More...
 
Double_t fXmin
 minimal x coordinate [cm] More...
 
Double_t fXmax
 maximal x coordinate [cm] More...
 
Double_t fYmin
 minimal y coordinate [cm] More...
 
Double_t fYmax
 maximal y coordinate [cm] More...
 
Double_t fSensorD
 thickness of sensors [cm] More...
 
Double_t fSensorRot
 Rotation of first sensor in global c.s. [rad]. More...
 
Int_t fNofSensors
 Number of sensors in station. More...
 
Bool_t fDiffSensorD
 Flag for different sensor thicknesses. More...
 
CbmStsSensorfFirstSensor
 Pointer to first sensor. More...
 
TGeoPhysicalNode * fNode
 Pointer to geometry. More...
 
std::vector< CbmStsElement * > fLadders
 Array of ladders. More...
 

Detailed Description

Class representing a station of the StsSystem.

Author
V.Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Version
1.0

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 29 of file CbmStsStation.h.

Constructor & Destructor Documentation

◆ CbmStsStation() [1/3]

CbmStsStation::CbmStsStation ( )

Default constructor

Definition at line 32 of file CbmStsStation.cxx.

◆ CbmStsStation() [2/3]

CbmStsStation::CbmStsStation ( const char *  name,
const char *  title,
TGeoPhysicalNode *  node = nullptr 
)

Standard constructor

Parameters
nameStation name
titleStation type
nodePointer to corresponding TGeoPhysicalNode

Definition at line 50 of file CbmStsStation.cxx.

◆ ~CbmStsStation()

CbmStsStation::~CbmStsStation ( )
virtual

Destructor

Definition at line 70 of file CbmStsStation.cxx.

◆ CbmStsStation() [3/3]

CbmStsStation::CbmStsStation ( const CbmStsStation )
private

Member Function Documentation

◆ AddLadder()

void CbmStsStation::AddLadder ( CbmStsElement ladder)

Add a ladder to the station

Definition at line 75 of file CbmStsStation.cxx.

References fLadders, CbmStsElement::GetLevel(), and kStsLadder.

Referenced by CbmStsSetup::CreateStations().

◆ CheckSensorProperties()

void CbmStsStation::CheckSensorProperties ( )
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 88 of file CbmStsStation.cxx.

References fDiffSensorD, fFirstSensor, fLadders, fNofSensors, fSensorD, fZ, CbmStsElement::GetDaughter(), CbmStsElement::GetNofDaughters(), and CbmStsElement::GetPnode().

Referenced by Init().

◆ ClassDef()

CbmStsStation::ClassDef ( CbmStsStation  ,
 
)
private

◆ GetRadLength()

Double_t CbmStsStation::GetRadLength ( ) const
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 60 of file CbmStsStation.h.

Referenced by CbmKF::Init(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ GetSensorD()

Double_t CbmStsStation::GetSensorD ( ) const
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 72 of file CbmStsStation.h.

References fSensorD.

Referenced by CbmKF::Init(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ GetSensorPitch()

Double_t CbmStsStation::GetSensorPitch ( Int_t  iSide) const

Get sensor strip pitch

Parameters
iSideSensor 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 151 of file CbmStsStation.cxx.

References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), CbmStsSensor::GetParams(), kDssdOrtho, and kDssdStereo.

Referenced by CbmL1::Init(), ToString(), and CbmL1::WriteSIMDKFData().

◆ GetSensorRotation()

Double_t CbmStsStation::GetSensorRotation ( ) const
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 99 of file CbmStsStation.h.

References fSensorRot.

Referenced by CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ GetSensorStereoAngle()

Double_t CbmStsStation::GetSensorStereoAngle ( Int_t  iSide) const

Get sensor stereo angle

Parameters
iSideSensor 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 166 of file CbmStsStation.cxx.

References fFirstSensor, CbmStsParSensor::GetClass(), CbmStsParSensor::GetPar(), CbmStsSensor::GetParams(), and kDssdStereo.

Referenced by CbmL1::Init(), ToString(), and CbmL1::WriteSIMDKFData().

◆ GetXmax()

Double_t CbmStsStation::GetXmax ( ) const
inline

Definition at line 117 of file CbmStsStation.h.

References fXmax.

Referenced by CbmL1::FieldApproxCheck(), CbmKF::Init(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ GetXmin()

Double_t CbmStsStation::GetXmin ( ) const
inline

Minimal and maximal x and y coordinates

Definition at line 116 of file CbmStsStation.h.

References fXmin.

◆ GetYmax()

Double_t CbmStsStation::GetYmax ( ) const
inline

Definition at line 119 of file CbmStsStation.h.

References fYmax.

Referenced by CbmL1::FieldApproxCheck(), CbmKF::Init(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ GetYmin()

Double_t CbmStsStation::GetYmin ( ) const
inline

Definition at line 118 of file CbmStsStation.h.

References fYmin.

◆ GetZ()

Double_t CbmStsStation::GetZ ( ) const
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 127 of file CbmStsStation.h.

References fZ.

Referenced by CbmEventBuilderQA::CalculateIsReconstructable(), CbmL1::FieldApproxCheck(), CbmKF::Init(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().

◆ Init()

void CbmStsStation::Init ( )

Initialise the station parameters.

Definition at line 180 of file CbmStsStation.cxx.

References atan2(), CheckSensorProperties(), fDiffSensorD, fFirstSensor, fLadders, fNode, fSensorRot, fXmax, fXmin, fYmax, fYmin, and CbmStsSensor::GetNode().

Referenced by CbmStsSetup::CreateStations().

◆ operator=()

CbmStsStation& CbmStsStation::operator= ( const CbmStsStation )
private

◆ ToString()

string CbmStsStation::ToString ( ) const
virtual

Member Data Documentation

◆ fDiffSensorD

Bool_t CbmStsStation::fDiffSensorD
private

Flag for different sensor thicknesses.

Definition at line 147 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), and Init().

◆ fFirstSensor

CbmStsSensor* CbmStsStation::fFirstSensor
private

Pointer to first sensor.

Definition at line 148 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), GetSensorPitch(), GetSensorStereoAngle(), Init(), and ToString().

◆ fLadders

std::vector<CbmStsElement*> CbmStsStation::fLadders
private

Array of ladders.

Definition at line 151 of file CbmStsStation.h.

Referenced by AddLadder(), CheckSensorProperties(), and Init().

◆ fNode

TGeoPhysicalNode* CbmStsStation::fNode
private

Pointer to geometry.

Definition at line 150 of file CbmStsStation.h.

Referenced by Init().

◆ fNofSensors

Int_t CbmStsStation::fNofSensors
private

Number of sensors in station.

Definition at line 146 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), and ToString().

◆ fSensorD

Double_t CbmStsStation::fSensorD
private

thickness of sensors [cm]

Definition at line 144 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), GetSensorD(), and ToString().

◆ fSensorRot

Double_t CbmStsStation::fSensorRot
private

Rotation of first sensor in global c.s. [rad].

Definition at line 145 of file CbmStsStation.h.

Referenced by GetSensorRotation(), Init(), and ToString().

◆ fXmax

Double_t CbmStsStation::fXmax
private

maximal x coordinate [cm]

Definition at line 141 of file CbmStsStation.h.

Referenced by GetXmax(), Init(), and ToString().

◆ fXmin

Double_t CbmStsStation::fXmin
private

minimal x coordinate [cm]

Definition at line 140 of file CbmStsStation.h.

Referenced by GetXmin(), Init(), and ToString().

◆ fYmax

Double_t CbmStsStation::fYmax
private

maximal y coordinate [cm]

Definition at line 143 of file CbmStsStation.h.

Referenced by GetYmax(), Init(), and ToString().

◆ fYmin

Double_t CbmStsStation::fYmin
private

minimal y coordinate [cm]

Definition at line 142 of file CbmStsStation.h.

Referenced by GetYmin(), Init(), and ToString().

◆ fZ

Double_t CbmStsStation::fZ
private

z position of station [cm]

Definition at line 139 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), GetZ(), and ToString().


The documentation for this class was generated from the following files: