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

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

#include <CbmTrdTrackingInterface.h>

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

Public Member Functions

 CbmTrdTrackingInterface ()
 Default constructor.
 
 ~CbmTrdTrackingInterface ()
 Destructor.
 
 CbmTrdTrackingInterface (const CbmTrdTrackingInterface &)=delete
 Copy constructor.
 
 CbmTrdTrackingInterface (CbmTrdTrackingInterface &&)=delete
 Move constructor.
 
CbmTrdTrackingInterfaceoperator= (const CbmTrdTrackingInterface &)=delete
 Copy assignment operator.
 
CbmTrdTrackingInterfaceoperator= (CbmTrdTrackingInterface &&)=delete
 Move assignment operator.
 
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.
 
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.
 
std::tuple< double, double, double > GetHitRanges (const CbmPixelHit &hit) const override
 Gets x,y,t ranges of a CbmTrdHit.
 
InitStatus Init () override
 FairTask: Init method.
 
InitStatus ReInit () override
 FairTask: ReInit method.
 
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.
 
std::string ToString () const
 Prints all the parameters into table and saves the table as a string.
 

Static Public Member Functions

static CbmTrdTrackingInterfaceInstance ()
 Gets pointer to the instance of the CbmTrdTrackingInterface.
 

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)) CbmTrdParModDigi *GetTrdModulePar(int moduleId) const
 Gets pointer to the TRD module.
 
 ClassDefOverride (CbmTrdTrackingInterface, 0)
 

Private Attributes

CbmTrdParSetDigifTrdDigiPar {nullptr}
 

Static Private Attributes

static CbmTrdTrackingInterfacefpInstance {nullptr}
 Instance of the class.
 

Detailed Description

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

Note
For TRD one tracking station is a TRD module!

Definition at line 32 of file CbmTrdTrackingInterface.h.

Constructor & Destructor Documentation

◆ CbmTrdTrackingInterface() [1/3]

CbmTrdTrackingInterface::CbmTrdTrackingInterface ( )

Default constructor.

◆ ~CbmTrdTrackingInterface()

CbmTrdTrackingInterface::~CbmTrdTrackingInterface ( )

Destructor.

Definition at line 36 of file CbmTrdTrackingInterface.cxx.

References fpInstance.

◆ CbmTrdTrackingInterface() [2/3]

CbmTrdTrackingInterface::CbmTrdTrackingInterface ( const CbmTrdTrackingInterface & )
delete

Copy constructor.

◆ CbmTrdTrackingInterface() [3/3]

CbmTrdTrackingInterface::CbmTrdTrackingInterface ( CbmTrdTrackingInterface && )
delete

Move constructor.

Member Function Documentation

◆ __attribute__()

CbmTrdTrackingInterface::__attribute__ ( (always_inline) ) const
inlineprivate

Gets pointer to the TRD module.

Parameters
moduleIdId of the Trd module
Returns
Pointer to the particular CbmTrdParModDigi object

Definition at line 105 of file CbmTrdTrackingInterface.h.

References fTrdDigiPar, CbmTrdParSet::GetModuleId(), and CbmTrdParSet::GetModulePar().

◆ Check()

◆ ClassDefOverride()

CbmTrdTrackingInterface::ClassDefOverride ( CbmTrdTrackingInterface ,
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 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 CbmTrdTrackingInterface::GetDetectorName ( ) const
inlineoverridevirtual

Gets name of this subsystem.

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 53 of file CbmTrdTrackingInterface.h.

◆ GetHitRanges()

std::tuple< double, double, double > CbmTrdTrackingInterface::GetHitRanges ( const CbmPixelHit & hit) const
overridevirtual

◆ GetNtrackingStations()

int CbmTrackingDetectorInterfaceBase::GetNtrackingStations ( ) const
inlineinherited

◆ GetStereoAnglesSensor()

std::tuple< double, double > CbmTrdTrackingInterface::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]

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 43 of file CbmTrdTrackingInterface.cxx.

References fTrdDigiPar, CbmTrdParSet::GetModulePar(), and CbmTrdParModDigi::GetOrientation().

◆ GetTrackingStationIndex() [1/3]

int CbmTrdTrackingInterface::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 64 of file CbmTrdTrackingInterface.h.

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

Referenced by CbmTrackingTrdQa::Exec(), CbmTrackingTrdQa::FillHitMap(), GetTrackingStationIndex(), and GetTrackingStationIndex().

◆ GetTrackingStationIndex() [2/3]

int CbmTrdTrackingInterface::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 74 of file CbmTrdTrackingInterface.h.

References GetTrackingStationIndex().

◆ GetTrackingStationIndex() [3/3]

int CbmTrdTrackingInterface::GetTrackingStationIndex ( int address) const
inlineoverridevirtual

Gets a tracking station by the address.

Parameters
addressUnique element address
Returns
Local index of the tracking station

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 69 of file CbmTrdTrackingInterface.h.

References CbmTrdAddress::GetLayerId().

◆ 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 CbmTrdTrackingInterface::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 82 of file CbmTrdTrackingInterface.h.

◆ operator=() [1/2]

CbmTrdTrackingInterface & CbmTrdTrackingInterface::operator= ( CbmTrdTrackingInterface && )
delete

Move assignment operator.

◆ operator=() [2/2]

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

Copy assignment operator.

◆ ReadVolume()

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

◆ ReInit()

InitStatus CbmTrdTrackingInterface::ReInit ( )
override

FairTask: ReInit method.

Definition at line 162 of file CbmTrdTrackingInterface.cxx.

References Init(), and SetParContainers().

◆ SetParContainers()

void CbmTrdTrackingInterface::SetParContainers ( )
override

FairTask: sets parameter containers up.

Definition at line 170 of file CbmTrdTrackingInterface.cxx.

References fTrdDigiPar.

Referenced by ReInit().

◆ ToString()

Member Data Documentation

◆ fpInstance

CbmTrdTrackingInterface* CbmTrdTrackingInterface::fpInstance {nullptr}
inlinestaticprivate

Instance of the class.

Definition at line 110 of file CbmTrdTrackingInterface.h.

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

◆ fTrdDigiPar

CbmTrdParSetDigi* CbmTrdTrackingInterface::fTrdDigiPar {nullptr}
private

◆ 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 CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and 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: