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

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

#include <CbmMuchTrackingInterface.h>

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

Public Member Functions

 CbmMuchTrackingInterface ()
 Default constructor.
 
 ~CbmMuchTrackingInterface ()
 Destructor.
 
 CbmMuchTrackingInterface (const CbmMuchTrackingInterface &)=delete
 Copy constructor.
 
 CbmMuchTrackingInterface (CbmMuchTrackingInterface &&)=delete
 Move constructor.
 
CbmMuchTrackingInterfaceoperator= (const CbmMuchTrackingInterface &)=delete
 Copy assignment operator.
 
CbmMuchTrackingInterfaceoperator= (CbmMuchTrackingInterface &&)=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.
 
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.
 
std::tuple< double, double > GetStereoAnglesSensor (int) const override
 Gets stereo angles of the two independent measured coordinates.
 
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 CbmMuchTrackingInterfaceInstance ()
 Gets pointer to the instance of the CbmMuchTrackingInterface.
 

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)) CbmMuchLayer *GetMuchLayer(int traStationId) const
 Gets pointer to the TRD module.
 
std::pair< int, int > ConvTrackingStationId2MuchId (int traStationId) const
 Calculates MuCh station ID from tracker station ID.
 
 ClassDefOverride (CbmMuchTrackingInterface, 0)
 

Private Attributes

CbmMuchGeoSchemefGeoScheme {nullptr}
 MuCh geometry scheme instance.
 
std::vector< int > fFirstTrackingStation {}
 

Static Private Attributes

static CbmMuchTrackingInterfacefpInstance {nullptr}
 Instance of the class.
 

Detailed Description

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

Note
For MuCh one tracking station is a MuCh layer!

Definition at line 38 of file CbmMuchTrackingInterface.h.

Constructor & Destructor Documentation

◆ CbmMuchTrackingInterface() [1/3]

CbmMuchTrackingInterface::CbmMuchTrackingInterface ( )

Default constructor.

◆ ~CbmMuchTrackingInterface()

CbmMuchTrackingInterface::~CbmMuchTrackingInterface ( )

Destructor.

Definition at line 30 of file CbmMuchTrackingInterface.cxx.

References fpInstance.

◆ CbmMuchTrackingInterface() [2/3]

CbmMuchTrackingInterface::CbmMuchTrackingInterface ( const CbmMuchTrackingInterface & )
delete

Copy constructor.

◆ CbmMuchTrackingInterface() [3/3]

CbmMuchTrackingInterface::CbmMuchTrackingInterface ( CbmMuchTrackingInterface && )
delete

Move constructor.

Member Function Documentation

◆ __attribute__()

CbmMuchTrackingInterface::__attribute__ ( (always_inline) ) const
inlineprivate

Gets pointer to the TRD module.

Parameters
stationIdTracking staton ID
Returns
Pointer to the particular CbmTrdParModDigi object

Definition at line 113 of file CbmMuchTrackingInterface.h.

References ConvTrackingStationId2MuchId(), fGeoScheme, and CbmMuchGeoScheme::GetLayer().

◆ Check()

◆ ClassDefOverride()

CbmMuchTrackingInterface::ClassDefOverride ( CbmMuchTrackingInterface ,
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().

◆ ConvTrackingStationId2MuchId()

std::pair< int, int > CbmMuchTrackingInterface::ConvTrackingStationId2MuchId ( int traStationId) const
private

Calculates MuCh station ID from tracker station ID.

Parameters
stationIdIndex of the tracking station

Definition at line 112 of file CbmMuchTrackingInterface.cxx.

References fFirstTrackingStation.

Referenced by __attribute__().

◆ 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 CbmMuchTrackingInterface::GetDetectorName ( ) const
inlineoverridevirtual

Gets name of this subsystem.

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 68 of file CbmMuchTrackingInterface.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

◆ GetStereoAnglesSensor()

std::tuple< double, double > CbmMuchTrackingInterface::GetStereoAnglesSensor ( int ) const
inlineoverridevirtual

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

◆ GetTrackingStationIndex() [1/3]

int CbmMuchTrackingInterface::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 73 of file CbmMuchTrackingInterface.h.

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

Referenced by GetTrackingStationIndex(), and GetTrackingStationIndex().

◆ GetTrackingStationIndex() [2/3]

int CbmMuchTrackingInterface::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 87 of file CbmMuchTrackingInterface.h.

References GetTrackingStationIndex().

◆ GetTrackingStationIndex() [3/3]

int CbmMuchTrackingInterface::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 78 of file CbmMuchTrackingInterface.h.

References fFirstTrackingStation, CbmMuchGeoScheme::GetLayerIndex(), and CbmMuchGeoScheme::GetStationIndex().

◆ 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 CbmMuchTrackingInterface::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 95 of file CbmMuchTrackingInterface.h.

◆ operator=() [1/2]

CbmMuchTrackingInterface & CbmMuchTrackingInterface::operator= ( CbmMuchTrackingInterface && )
delete

Move assignment operator.

◆ operator=() [2/2]

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

Copy assignment operator.

◆ ReadVolume()

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

◆ ReInit()

InitStatus CbmMuchTrackingInterface::ReInit ( )
override

FairTask: ReInit method.

Definition at line 99 of file CbmMuchTrackingInterface.cxx.

References Init(), and SetParContainers().

◆ SetParContainers()

void CbmMuchTrackingInterface::SetParContainers ( )
override

FairTask: sets parameter containers up.

Definition at line 107 of file CbmMuchTrackingInterface.cxx.

Referenced by ReInit().

◆ ToString()

Member Data Documentation

◆ fFirstTrackingStation

std::vector<int> CbmMuchTrackingInterface::fFirstTrackingStation {}
private

◆ fGeoScheme

CbmMuchGeoScheme* CbmMuchTrackingInterface::fGeoScheme {nullptr}
private

MuCh geometry scheme instance.

Definition at line 125 of file CbmMuchTrackingInterface.h.

Referenced by __attribute__(), and Init().

◆ fpInstance

CbmMuchTrackingInterface* CbmMuchTrackingInterface::fpInstance {nullptr}
inlinestaticprivate

Instance of the class.

Definition at line 123 of file CbmMuchTrackingInterface.h.

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

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