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)
 
const CbmStsElementGetLadder (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 &)
 
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 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() [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 57 of file CbmStsStation.cxx.

References fDiffSensorD, fFirstSensor, fLadders, fNode, fNofSensors, fSensorD, fSensorRot, fXmax, fXmin, fYmax, fYmin, fZmax, and fZmin.

◆ ~CbmStsStation()

CbmStsStation::~CbmStsStation ( )
virtual

Destructor

Definition at line 78 of file CbmStsStation.cxx.

◆ CbmStsStation() [3/3]

CbmStsStation::CbmStsStation ( const CbmStsStation & )
private

References CbmStsStation().

Member Function Documentation

◆ AddLadder()

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

◆ 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 97 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

References CbmStsStation().

◆ GetLadder()

const CbmStsElement * CbmStsStation::GetLadder ( Int_t iLadder) const
inline

Constant access to the ladder

Parameters
iLadderIndex of ladder

Definition at line 58 of file CbmStsStation.h.

References fLadders.

Referenced by cbm::sts::RecoSetupUnitFactory::CreateStationIdMap().

◆ GetNofLadders()

Int_t CbmStsStation::GetNofLadders ( ) const
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().

◆ GetRadLength()

Double_t CbmStsStation::GetRadLength ( ) const
inline

Radiation length of the main material of the station (silicon)

Parameters
Radiationlength 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.

◆ GetSensorD()

Double_t CbmStsStation::GetSensorD ( ) const
inline

Sensor thickness

Parameters
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.

◆ GetSensorPitch()

Double_t CbmStsStation::GetSensorPitch ( Int_t iSide) const

Get sensor strip pitch

Parameters
iSideSensor side (0 = front, 1 = back)
Strippitch [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().

◆ GetSensorRotation()

Double_t CbmStsStation::GetSensorRotation ( ) const
inline

Sensor rotation

Parameters
Rotationof 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.

◆ GetSensorStereoAngle()

Double_t CbmStsStation::GetSensorStereoAngle ( Int_t iSide) const

Get sensor stereo angle

Parameters
iSideSensor side (0 = front, 1 = back)
Stereoangle [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().

◆ GetXmax()

Double_t CbmStsStation::GetXmax ( ) const
inline

Definition at line 127 of file CbmStsStation.h.

References fXmax.

Referenced by CbmStsAnaBase::LoadSetup().

◆ GetXmin()

Double_t CbmStsStation::GetXmin ( ) const
inline

Minimal and maximal x and y coordinates

Definition at line 126 of file CbmStsStation.h.

References fXmin.

Referenced by CbmStsAnaBase::LoadSetup().

◆ GetYmax()

Double_t CbmStsStation::GetYmax ( ) const
inline

Definition at line 129 of file CbmStsStation.h.

References fYmax.

Referenced by CbmStsAnaBase::LoadSetup().

◆ GetYmin()

Double_t CbmStsStation::GetYmin ( ) const
inline

Definition at line 128 of file CbmStsStation.h.

References fYmin.

Referenced by CbmStsAnaBase::LoadSetup().

◆ GetZ()

Double_t CbmStsStation::GetZ ( ) const
inline

Station z position in global c.s.

Parameters
zPosition 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.

References fZmax, and fZmin.

Referenced by CbmEventBuilderQa::CalculateIsReconstructable(), CbmStsAnaBase::LoadSetup(), 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 142 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 147 of file CbmStsStation.h.

References fZmin.

◆ Init()

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

◆ operator=()

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

References CbmStsStation().

◆ ToString()

string CbmStsStation::ToString ( ) const
virtual

Member Data Documentation

◆ fDiffSensorD

Bool_t CbmStsStation::fDiffSensorD
private

Flag for different sensor thicknesses.

Definition at line 168 of file CbmStsStation.h.

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

◆ fFirstSensor

CbmStsSensor* CbmStsStation::fFirstSensor
private

Pointer to first sensor.

Definition at line 169 of file CbmStsStation.h.

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

◆ fLadders

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

Array of ladders.

Definition at line 172 of file CbmStsStation.h.

Referenced by AddLadder(), CbmStsStation(), CbmStsStation(), CheckSensorProperties(), GetLadder(), GetNofLadders(), and Init().

◆ fNode

TGeoPhysicalNode* CbmStsStation::fNode
private

Pointer to geometry.

Definition at line 171 of file CbmStsStation.h.

Referenced by CbmStsStation(), CbmStsStation(), and Init().

◆ fNofSensors

Int_t CbmStsStation::fNofSensors
private

Number of sensors in station.

Definition at line 167 of file CbmStsStation.h.

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

◆ fSensorD

Double_t CbmStsStation::fSensorD
private

thickness of sensors [cm]

Definition at line 165 of file CbmStsStation.h.

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

◆ fSensorRot

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

◆ fXmax

Double_t CbmStsStation::fXmax
private

maximal x coordinate [cm]

Definition at line 160 of file CbmStsStation.h.

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

◆ fXmin

Double_t CbmStsStation::fXmin
private

minimal x coordinate [cm]

Definition at line 159 of file CbmStsStation.h.

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

◆ fYmax

Double_t CbmStsStation::fYmax
private

maximal y coordinate [cm]

Definition at line 162 of file CbmStsStation.h.

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

◆ fYmin

Double_t CbmStsStation::fYmin
private

minimal y coordinate [cm]

Definition at line 161 of file CbmStsStation.h.

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

◆ fZmax

Double_t CbmStsStation::fZmax
private

maximal z coordinate [cm]

Definition at line 164 of file CbmStsStation.h.

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

◆ fZmin

Double_t CbmStsStation::fZmin
private

minimal z coordinate [cm]

Definition at line 163 of file CbmStsStation.h.

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


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