CbmRoot
Loading...
Searching...
No Matches
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
 
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 &)
 
CbmStsStationoperator= (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.
 
CbmStsSensorfFirstSensor
 Pointer to first sensor.
 
TGeoPhysicalNode * fNode
 Pointer to geometry.
 
std::vector< CbmStsElement * > fLadders
 Array of ladders.
 

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

Constructor & Destructor Documentation

◆ CbmStsStation() [1/3]

CbmStsStation::CbmStsStation ( )

Default constructor

Definition at line 37 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 58 of file CbmStsStation.cxx.

◆ ~CbmStsStation()

CbmStsStation::~CbmStsStation ( )
virtual

Destructor

Definition at line 79 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 84 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 98 of file CbmStsStation.cxx.

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

Referenced by Init().

◆ ClassDef()

CbmStsStation::ClassDef ( CbmStsStation ,
1  )
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 62 of file CbmStsStation.h.

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

References fSensorD.

◆ 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 162 of file CbmStsStation.cxx.

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

Referenced by CbmRecoStsPixel::ProcessData(), and ToString().

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

References fSensorRot.

◆ 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 177 of file CbmStsStation.cxx.

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

Referenced by ToString().

◆ GetXmax()

Double_t CbmStsStation::GetXmax ( ) const
inline

Definition at line 119 of file CbmStsStation.h.

References fXmax.

◆ GetXmin()

Double_t CbmStsStation::GetXmin ( ) const
inline

Minimal and maximal x and y coordinates

Definition at line 118 of file CbmStsStation.h.

References fXmin.

◆ GetYmax()

Double_t CbmStsStation::GetYmax ( ) const
inline

Definition at line 121 of file CbmStsStation.h.

References fYmax.

◆ GetYmin()

Double_t CbmStsStation::GetYmin ( ) const
inline

Definition at line 120 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 129 of file CbmStsStation.h.

References fZmax, and fZmin.

Referenced by CbmEventBuilderQa::CalculateIsReconstructable(), CbmRecoStsPixel::ProcessData(), and ToString().

◆ GetZmax()

Double_t CbmStsStation::GetZmax ( ) const
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.

◆ GetZmin()

Double_t CbmStsStation::GetZmin ( ) const
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.

◆ Init()

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().

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

Referenced by CheckSensorProperties(), and Init().

◆ fFirstSensor

CbmStsSensor* CbmStsStation::fFirstSensor
private

Pointer to first sensor.

Definition at line 161 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 164 of file CbmStsStation.h.

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

◆ fNode

TGeoPhysicalNode* CbmStsStation::fNode
private

Pointer to geometry.

Definition at line 163 of file CbmStsStation.h.

Referenced by Init().

◆ fNofSensors

Int_t CbmStsStation::fNofSensors
private

Number of sensors in station.

Definition at line 159 of file CbmStsStation.h.

Referenced by CheckSensorProperties(), and ToString().

◆ fSensorD

Double_t CbmStsStation::fSensorD
private

thickness of sensors [cm]

Definition at line 157 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 158 of file CbmStsStation.h.

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

◆ fXmax

Double_t CbmStsStation::fXmax
private

maximal x coordinate [cm]

Definition at line 152 of file CbmStsStation.h.

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

◆ fXmin

Double_t CbmStsStation::fXmin
private

minimal x coordinate [cm]

Definition at line 151 of file CbmStsStation.h.

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

◆ fYmax

Double_t CbmStsStation::fYmax
private

maximal y coordinate [cm]

Definition at line 154 of file CbmStsStation.h.

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

◆ fYmin

Double_t CbmStsStation::fYmin
private

minimal y coordinate [cm]

Definition at line 153 of file CbmStsStation.h.

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

◆ fZmax

Double_t CbmStsStation::fZmax
private

maximal z coordinate [cm]

Definition at line 156 of file CbmStsStation.h.

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

◆ fZmin

Double_t CbmStsStation::fZmin
private

minimal z coordinate [cm]

Definition at line 155 of file CbmStsStation.h.

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


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