CbmRoot
Loading...
Searching...
No Matches
CbmStsTrackingInterface Class Reference

A CbmL1 subtask, which provides necessary methods for CA tracker to access the geometry and dataflow settings. More...

#include <CbmStsTrackingInterface.h>

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

Public Member Functions

 CbmStsTrackingInterface ()
 Default constructor.
 
 ~CbmStsTrackingInterface ()
 Destructor.
 
 CbmStsTrackingInterface (const CbmStsTrackingInterface &)=delete
 Copy constructor.
 
 CbmStsTrackingInterface (CbmStsTrackingInterface &&)=delete
 Move constructor.
 
CbmStsTrackingInterfaceoperator= (const CbmStsTrackingInterface &)=delete
 Copy assignment operator.
 
CbmStsTrackingInterfaceoperator= (CbmStsTrackingInterface &&)=delete
 Move assignment operator.
 
InitStatus Init () override
 FairTask: Init method.
 
InitStatus ReInit () override
 FairTask: ReInit method.
 
std::string GetDetectorName () const override
 Gets name of this subsystem.
 
std::tuple< double, double > GetStereoAnglesSensor (int address) const override
 Gets stereo angles of the two independent measured coordinates.
 
int GetTrackingStationIndex (const CbmHit *hit) const override
 Gets a tracking station of a CbmHit.
 
int GetTrackingStationIndex (int address) const override
 Gets a tracking station by the address of element.
 
int GetTrackingStationIndex (const FairMCPoint *point) const override
 Gets a tracking station of a FairMCPoint.
 
bool IsTimeInfoProvided (int) const override
 Check if station provides time measurements.
 
double GetRadLength (int stationId) const
 
double GetSensorThickness (int stationId) const
 
void SetParContainers () override
 FairTask: sets parameter containers up.
 
bool Check () const
 Checks detector interface: boundary conditions of the parameters.
 
int GetNtrackingStations () const
 Gets actual number of stations, provided by the current geometry setup.
 
double GetXmax (int stationId) const
 Gets upper bound of a station passive volume along the X-axis.
 
double GetXmin (int stationId) const
 Gets lower bound of a station passive volume along the X-axis.
 
double GetYmax (int stationId) const
 Gets upper bound of a station passive volume along the Y-axis.
 
double GetYmin (int stationId) const
 Gets lower bound of a station passive volume along the Y-axis.
 
double GetZref (int stationId) const
 Gets reference z of the station passive volume.
 
virtual double GetZrefModule (int address)
 Gets reference z of the detector module (e.g., RPC for TOF)
 
double GetZmin (int stationId) const
 Gets min z of the station passive volume.
 
double GetZmax (int stationId) const
 Gets max z of the station passive volume.
 
double GetActiveXmin (int stationId) const
 Gets lower bound of the station active volume along x-axis.
 
double GetActiveXmax (int stationId) const
 Gets upper bound of the station active volume along x-axis.
 
double GetActiveYmin (int stationId) const
 Gets lower bound of the station active volume along y-axis.
 
double GetActiveYmax (int stationId) const
 Gets upper bound of the station active volume along y-axis.
 
double GetActiveZmin (int stationId) const
 Gets lower bound of the station active volume along z-axis.
 
double GetActiveZmax (int stationId) const
 Gets upper bound of the station active volume along z-axis.
 
virtual std::tuple< double, double, double > GetHitRanges (const CbmPixelHit &hit) const
 Gets x,y,t ranges of a CbmPixelHit.
 
std::string ToString () const
 Prints all the parameters into table and saves the table as a string.
 

Static Public Member Functions

static CbmStsTrackingInterfaceInstance ()
 Gets pointer to the instance of the CbmStsTrackingInterface class.
 

Static Public Attributes

static constexpr bool kUseDynamicCast {true}
 

Protected Member Functions

std::vector< TString > CollectNodes (const TString &detector, const TString &component, const TString &path, TGeoNode *pNode)
 Collects paths of the components.
 
VolumeInfo ReadVolume (const TString &path)
 Creates volume info from a geo node provided by path.
 

Protected Attributes

std::vector< VolumeInfofvStationFullVolume {}
 Geometric properties of each station passive volume.
 
std::vector< VolumeInfofvStationActiveVolume {}
 Geometric properties of each station active volume.
 

Static Protected Attributes

static constexpr bool kLegacy {false}
 If use legacy tracking detector interface definition FIXME: Remove after testing.
 

Private Member Functions

 __attribute__ ((always_inline)) CbmStsStation *GetStsStation(int stationId) const
 Gets pointer to the STS station object.
 
 ClassDefOverride (CbmStsTrackingInterface, 0)
 

Private Attributes

CbmStsParSetSensorfStsParSetSensor {nullptr}
 
CbmStsParSetSensorCondfStsParSetSensorCond {nullptr}
 
CbmStsParSetModulefStsParSetModule {nullptr}
 

Static Private Attributes

static CbmStsTrackingInterfacefpInstance {nullptr}
 

Detailed Description

A CbmL1 subtask, which provides necessary methods for CA tracker to access the geometry and dataflow settings.

Definition at line 34 of file CbmStsTrackingInterface.h.

Constructor & Destructor Documentation

◆ CbmStsTrackingInterface() [1/3]

CbmStsTrackingInterface::CbmStsTrackingInterface ( )

Default constructor.

◆ ~CbmStsTrackingInterface()

CbmStsTrackingInterface::~CbmStsTrackingInterface ( )

Destructor.

Definition at line 32 of file CbmStsTrackingInterface.cxx.

References fpInstance.

◆ CbmStsTrackingInterface() [2/3]

CbmStsTrackingInterface::CbmStsTrackingInterface ( const CbmStsTrackingInterface & )
delete

Copy constructor.

◆ CbmStsTrackingInterface() [3/3]

CbmStsTrackingInterface::CbmStsTrackingInterface ( CbmStsTrackingInterface && )
delete

Move constructor.

Member Function Documentation

◆ __attribute__()

CbmStsTrackingInterface::__attribute__ ( (always_inline) ) const
inlineprivate

Gets pointer to the STS station object.

Parameters
stationIdTracking staton ID
Returns
Pointer to the particular CbmStsStation object

Definition at line 114 of file CbmStsTrackingInterface.h.

References CbmStsSetup::GetStation(), and CbmStsSetup::Instance().

◆ Check()

◆ ClassDefOverride()

CbmStsTrackingInterface::ClassDefOverride ( CbmStsTrackingInterface ,
0  )
private

◆ CollectNodes()

std::vector< TString > CbmTrackingDetectorInterfaceBase::CollectNodes ( const TString & detector,
const TString & component,
const TString & path,
TGeoNode * pNode )
protectedinherited

Collects paths of the components.

Parameters
[in]detectorName hint of the detector
[in]componentName of the active node component
[in,out]pathPath to the node
[in,out]pNodePointer to the node
Returns
Vector of paths to the matched components

Definition at line 127 of file CbmTrackingDetectorInterfaceBase.cxx.

References CbmTrackingDetectorInterfaceBase::CollectNodes().

Referenced by CbmTrackingDetectorInterfaceBase::CollectNodes(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().

◆ GetActiveXmax()

double CbmTrackingDetectorInterfaceBase::GetActiveXmax ( int stationId) const
inlineinherited

Gets upper bound of the station active volume along x-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
max X of the station active volume [cm]

Definition at line 161 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::ToString().

◆ GetActiveXmin()

double CbmTrackingDetectorInterfaceBase::GetActiveXmin ( int stationId) const
inlineinherited

Gets lower bound of the station active volume along x-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
min X of the station active volume [cm]

Definition at line 156 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::ToString().

◆ GetActiveYmax()

double CbmTrackingDetectorInterfaceBase::GetActiveYmax ( int stationId) const
inlineinherited

Gets upper bound of the station active volume along y-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
max Y of the station active volume [cm]

Definition at line 171 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::ToString().

◆ GetActiveYmin()

double CbmTrackingDetectorInterfaceBase::GetActiveYmin ( int stationId) const
inlineinherited

Gets lower bound of the station active volume along y-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
min Y of the station active volume [cm]

Definition at line 166 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::ToString().

◆ GetActiveZmax()

double CbmTrackingDetectorInterfaceBase::GetActiveZmax ( int stationId) const
inlineinherited

Gets upper bound of the station active volume along z-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
max Z of the station active volume [cm]

Definition at line 181 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetActiveZmin()

double CbmTrackingDetectorInterfaceBase::GetActiveZmin ( int stationId) const
inlineinherited

Gets lower bound of the station active volume along z-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
min Z of the station active volume [cm]

Definition at line 176 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.

Referenced by CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetDetectorName()

std::string CbmStsTrackingInterface::GetDetectorName ( ) const
inlineoverridevirtual

Gets name of this subsystem.

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 64 of file CbmStsTrackingInterface.h.

◆ GetHitRanges()

virtual std::tuple< double, double, double > CbmTrackingDetectorInterfaceBase::GetHitRanges ( const CbmPixelHit & hit) const
inlinevirtualinherited

Gets x,y,t ranges of a CbmPixelHit.

Parameters
hitA hit
Returns
range X, Y, T

Reimplemented in CbmTrdTrackingInterface.

Definition at line 191 of file CbmTrackingDetectorInterfaceBase.h.

References CbmPixelHit::GetDx(), CbmPixelHit::GetDy(), and CbmHit::GetTimeError().

Referenced by CbmTrdTrackingInterface::GetHitRanges().

◆ GetNtrackingStations()

int CbmTrackingDetectorInterfaceBase::GetNtrackingStations ( ) const
inlineinherited

◆ GetRadLength()

double CbmStsTrackingInterface::GetRadLength ( int stationId) const
inline

– to be removed – Gets station radiation length

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Radiation length [cm]

Definition at line 99 of file CbmStsTrackingInterface.h.

◆ GetSensorThickness()

double CbmStsTrackingInterface::GetSensorThickness ( int stationId) const
inline

– to be removed – Gets station thickness along the Z-axis

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Station thickness [cm]

Definition at line 105 of file CbmStsTrackingInterface.h.

◆ GetStereoAnglesSensor()

std::tuple< double, double > CbmStsTrackingInterface::GetStereoAnglesSensor ( int address) const
overridevirtual

Gets stereo angles of the two independent measured coordinates.

Note
The tracking does not use this method. It is only used by the QA task.
Parameters
addressdetector unique identifier
Returns
[phiU, phiV] - Stereo angles [rad]

Gets front & back strip angle

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 39 of file CbmStsTrackingInterface.cxx.

References CbmStsSetup::GetElement(), CbmStsSensor::GetNode(), CbmStsParSensor::GetPar(), CbmStsSensor::GetParams(), CbmStsSetup::Instance(), and kStsSensor.

◆ GetTrackingStationIndex() [1/3]

int CbmStsTrackingInterface::GetTrackingStationIndex ( const CbmHit * hit) const
inlineoverridevirtual

Gets a tracking station of a CbmHit.

Parameters
hitA pointer to CbmHit
Returns
Local index of the tracking station

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 75 of file CbmStsTrackingInterface.h.

References CbmHit::GetAddress(), and GetTrackingStationIndex().

Referenced by GetTrackingStationIndex(), and GetTrackingStationIndex().

◆ GetTrackingStationIndex() [2/3]

int CbmStsTrackingInterface::GetTrackingStationIndex ( const FairMCPoint * point) const
inlineoverridevirtual

Gets a tracking station of a FairMCPoint.

Parameters
pointA pointer to FairMCHit
Returns
Local index of the tracking station

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 85 of file CbmStsTrackingInterface.h.

References GetTrackingStationIndex().

◆ GetTrackingStationIndex() [3/3]

int CbmStsTrackingInterface::GetTrackingStationIndex ( int address) const
inlineoverridevirtual

Gets a tracking station by the address of element.

Parameters
addressUnique element address
Returns
Local index of the tracking station

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 80 of file CbmStsTrackingInterface.h.

References CbmStsSetup::GetStationNumber(), and CbmStsSetup::Instance().

◆ GetXmax()

double CbmTrackingDetectorInterfaceBase::GetXmax ( int stationId) const
inlineinherited

Gets upper bound of a station passive volume along the X-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Size of station along the X-axis [cm]

Definition at line 116 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetXmin()

double CbmTrackingDetectorInterfaceBase::GetXmin ( int stationId) const
inlineinherited

Gets lower bound of a station passive volume along the X-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Size of station along the X-axis [cm]

Definition at line 121 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetYmax()

double CbmTrackingDetectorInterfaceBase::GetYmax ( int stationId) const
inlineinherited

Gets upper bound of a station passive volume along the Y-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Size of station along the Y-axis [cm]

Definition at line 126 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetYmin()

double CbmTrackingDetectorInterfaceBase::GetYmin ( int stationId) const
inlineinherited

Gets lower bound of a station passive volume along the Y-axis.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Size of station along the Y-axis [cm]

Definition at line 131 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetZmax()

double CbmTrackingDetectorInterfaceBase::GetZmax ( int stationId) const
inlineinherited

Gets max z of the station passive volume.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
max Z of the station [cm]

Definition at line 151 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetZmin()

double CbmTrackingDetectorInterfaceBase::GetZmin ( int stationId) const
inlineinherited

Gets min z of the station passive volume.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
min Z of the station [cm]

Definition at line 146 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.

Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetZref()

double CbmTrackingDetectorInterfaceBase::GetZref ( int stationId) const
inlineinherited

Gets reference z of the station passive volume.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Reference z position of the station [cm]

Definition at line 136 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::GetActiveZmax(), and CbmTrackingDetectorInterfaceBase::GetActiveZmin().

Referenced by CbmTrackingDetectorInterfaceBase::Check(), CbmTrackingDetectorInterfaceBase::GetZrefModule(), and CbmTrackingDetectorInterfaceBase::ToString().

◆ GetZrefModule()

virtual double CbmTrackingDetectorInterfaceBase::GetZrefModule ( int address)
inlinevirtualinherited

Gets reference z of the detector module (e.g., RPC for TOF)

Parameters
addressAddress of the module
Returns
Reference z of module (if not defined, the ref z of the station will be returned)

Reimplemented in CbmTofTrackingInterface.

Definition at line 141 of file CbmTrackingDetectorInterfaceBase.h.

References CbmTrackingDetectorInterfaceBase::GetTrackingStationIndex(), and CbmTrackingDetectorInterfaceBase::GetZref().

◆ Init()

◆ Instance()

◆ IsTimeInfoProvided()

bool CbmStsTrackingInterface::IsTimeInfoProvided ( int ) const
inlineoverridevirtual

Check if station provides time measurements.

Parameters
stationIdTracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1])
Returns
Flag: true - station provides time measurements, false - station does not provide time measurements

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 93 of file CbmStsTrackingInterface.h.

◆ operator=() [1/2]

CbmStsTrackingInterface & CbmStsTrackingInterface::operator= ( CbmStsTrackingInterface && )
delete

Move assignment operator.

◆ operator=() [2/2]

CbmStsTrackingInterface & CbmStsTrackingInterface::operator= ( const CbmStsTrackingInterface & )
delete

Copy assignment operator.

◆ ReadVolume()

CbmTrackingDetectorInterfaceBase::VolumeInfo CbmTrackingDetectorInterfaceBase::ReadVolume ( const TString & path)
protectedinherited

◆ ReInit()

InitStatus CbmStsTrackingInterface::ReInit ( )
override

FairTask: ReInit method.

Definition at line 122 of file CbmStsTrackingInterface.cxx.

References Init(), and SetParContainers().

◆ SetParContainers()

void CbmStsTrackingInterface::SetParContainers ( )
override

FairTask: sets parameter containers up.

Definition at line 130 of file CbmStsTrackingInterface.cxx.

References fStsParSetModule, fStsParSetSensor, and fStsParSetSensorCond.

Referenced by ReInit().

◆ ToString()

Member Data Documentation

◆ fpInstance

CbmStsTrackingInterface* CbmStsTrackingInterface::fpInstance {nullptr}
inlinestaticprivate

Definition at line 119 of file CbmStsTrackingInterface.h.

Referenced by Instance(), and ~CbmStsTrackingInterface().

◆ fStsParSetModule

CbmStsParSetModule* CbmStsTrackingInterface::fStsParSetModule {nullptr}
private

Definition at line 123 of file CbmStsTrackingInterface.h.

Referenced by Init(), and SetParContainers().

◆ fStsParSetSensor

CbmStsParSetSensor* CbmStsTrackingInterface::fStsParSetSensor {nullptr}
private

Definition at line 121 of file CbmStsTrackingInterface.h.

Referenced by Init(), and SetParContainers().

◆ fStsParSetSensorCond

CbmStsParSetSensorCond* CbmStsTrackingInterface::fStsParSetSensorCond {nullptr}
private

Definition at line 122 of file CbmStsTrackingInterface.h.

Referenced by Init(), and SetParContainers().

◆ fvStationActiveVolume

◆ fvStationFullVolume

◆ kLegacy

bool CbmTrackingDetectorInterfaceBase::kLegacy {false}
staticconstexprprotectedinherited

If use legacy tracking detector interface definition FIXME: Remove after testing.

Definition at line 208 of file CbmTrackingDetectorInterfaceBase.h.

Referenced by Init(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().

◆ kUseDynamicCast

bool CbmTrackingDetectorInterfaceBase::kUseDynamicCast {true}
staticconstexprinherited

Technical flag: true - all downcasts are done with dynamic_cast followed by checks for nullptr (increases computing time, better for debug), false - all downcasts are done with static_cast without sanity checks (decreases computing time, but can cause bugs)

Definition at line 200 of file CbmTrackingDetectorInterfaceBase.h.

Referenced by CbmMvdTrackingInterface::GetTrackingStationIndex(), and CbmMvdTrackingInterface::GetTrackingStationIndex().


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