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

CbmMvdTrackingInterface. More...

#include <CbmMvdTrackingInterface.h>

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

Public Member Functions

 CbmMvdTrackingInterface ()
 Default constructor.
 
 ~CbmMvdTrackingInterface ()
 Destructor.
 
 CbmMvdTrackingInterface (const CbmMvdTrackingInterface &)=delete
 Copy constructor.
 
 CbmMvdTrackingInterface (CbmMvdTrackingInterface &&)=delete
 Move constructor.
 
CbmMvdTrackingInterfaceoperator= (const CbmMvdTrackingInterface &)=delete
 Copy assignment operator.
 
CbmMvdTrackingInterfaceoperator= (CbmMvdTrackingInterface &&)=delete
 Move assignment operator.
 
std::string GetDetectorName () const override
 Gets name of this subsystem.
 
double GetRadLength (int stationId) const
 
std::tuple< double, double > GetStereoAnglesSensor (int) const override
 Gets stereo angles of the two independent measured coordinates.
 
double GetSensorThickness (int stationId) const
 
int GetTrackingStationIndex (const CbmHit *hit) const override
 Gets a tracking station of a CbmHit.
 
int GetTrackingStationIndex (const FairMCPoint *point) const override
 Gets a tracking station of a FairMCPoint.
 
int GetTrackingStationIndex (int detectorId) const override
 Gets a tracking station by the address of element (detectorID in terms of MVD)
 
InitStatus Init () override
 FairTask: Init method.
 
bool IsTimeInfoProvided (int) const override
 Check if the detector provides time measurements.
 
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.
 
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.
 
int32_t DetectorId (int32_t iStation) const
 
int32_t SystemId (int32_t detectorId) const
 
int32_t StationNr (int32_t detectorId) const
 
 ClassDef (CbmMvdDetectorId, 1)
 

Static Public Member Functions

static CbmMvdTrackingInterfaceInstance ()
 Gets pointer to the instance of the CbmMvdTrackingInterface.
 

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

 ClassDefOverride (CbmMvdTrackingInterface, 0)
 

Private Attributes

const CbmMvdStationParfMvdStationPar {nullptr}
 Pointer to the Mvd station parameters.
 

Static Private Attributes

static CbmMvdTrackingInterfacefpInstance {nullptr}
 Instance of the class.
 

Detailed Description

CbmMvdTrackingInterface.

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

Definition at line 38 of file CbmMvdTrackingInterface.h.

Constructor & Destructor Documentation

◆ CbmMvdTrackingInterface() [1/3]

CbmMvdTrackingInterface::CbmMvdTrackingInterface ( )

Default constructor.

◆ ~CbmMvdTrackingInterface()

CbmMvdTrackingInterface::~CbmMvdTrackingInterface ( )

Destructor.

Definition at line 32 of file CbmMvdTrackingInterface.cxx.

References fpInstance.

◆ CbmMvdTrackingInterface() [2/3]

CbmMvdTrackingInterface::CbmMvdTrackingInterface ( const CbmMvdTrackingInterface & )
delete

Copy constructor.

◆ CbmMvdTrackingInterface() [3/3]

CbmMvdTrackingInterface::CbmMvdTrackingInterface ( CbmMvdTrackingInterface && )
delete

Move constructor.

Member Function Documentation

◆ Check()

◆ ClassDef()

CbmMvdDetectorId::ClassDef ( CbmMvdDetectorId ,
1  )
inherited

◆ ClassDefOverride()

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

◆ DetectorId()

int32_t CbmMvdDetectorId::DetectorId ( int32_t iStation) const
inlineinherited

Create unique detector ID from station number

Definition at line 49 of file CbmMvdDetectorId.h.

References kMvd, and ToIntegralType().

Referenced by CbmMvdDetector::AddSensor(), CbmMvdHit::CbmMvdHit(), CbmMvdPoint::CbmMvdPoint(), CbmMvdCluster::GetDetectorId(), and CbmMvdHitfinder::ProcessData().

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

Gets name of this subsystem.

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 59 of file CbmMvdTrackingInterface.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 CbmMvdTrackingInterface::GetRadLength ( int stationId) const
inline

— to be removed — Gets the tracking 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 65 of file CbmMvdTrackingInterface.h.

References fMvdStationPar, CbmMvdStationPar::GetZRadThickness(), and CbmMvdStationPar::GetZThickness().

◆ GetSensorThickness()

double CbmMvdTrackingInterface::GetSensorThickness ( int stationId) const
inline

— to be removed — Gets the tracking 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 83 of file CbmMvdTrackingInterface.h.

References fMvdStationPar, and CbmMvdStationPar::GetZThickness().

◆ GetStereoAnglesSensor()

std::tuple< double, double > CbmMvdTrackingInterface::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 74 of file CbmMvdTrackingInterface.h.

◆ GetTrackingStationIndex() [1/3]

int CbmMvdTrackingInterface::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 88 of file CbmMvdTrackingInterface.h.

References CbmTrackingDetectorInterfaceBase::kUseDynamicCast.

◆ GetTrackingStationIndex() [2/3]

int CbmMvdTrackingInterface::GetTrackingStationIndex ( const FairMCPoint * point) const
overridevirtual

Gets a tracking station of a FairMCPoint.

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

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 81 of file CbmMvdTrackingInterface.cxx.

References CbmMvdDetector::GetSensorMap(), CbmMvdSensor::GetStationNr(), CbmMvdDetector::Instance(), and CbmTrackingDetectorInterfaceBase::kUseDynamicCast.

◆ GetTrackingStationIndex() [3/3]

int CbmMvdTrackingInterface::GetTrackingStationIndex ( int detectorId) const
inlineoverridevirtual

Gets a tracking station by the address of element (detectorID in terms of MVD)

Parameters
detectorIdUnique element address (detectorID in terms of MVD)
Returns
Local index of the tracking station

Implements CbmTrackingDetectorInterfaceBase.

Definition at line 107 of file CbmMvdTrackingInterface.h.

References CbmMvdDetectorId::StationNr().

◆ 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 CbmMvdTrackingInterface::IsTimeInfoProvided ( int ) const
inlineoverridevirtual

Check if the detector 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 119 of file CbmMvdTrackingInterface.h.

◆ operator=() [1/2]

CbmMvdTrackingInterface & CbmMvdTrackingInterface::operator= ( CbmMvdTrackingInterface && )
delete

Move assignment operator.

◆ operator=() [2/2]

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

Copy assignment operator.

◆ ReadVolume()

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

◆ ReInit()

InitStatus CbmMvdTrackingInterface::ReInit ( )
override

FairTask: ReInit method.

Definition at line 69 of file CbmMvdTrackingInterface.cxx.

References Init(), and SetParContainers().

◆ SetParContainers()

void CbmMvdTrackingInterface::SetParContainers ( )
override

FairTask: sets parameter containers up.

Definition at line 77 of file CbmMvdTrackingInterface.cxx.

Referenced by ReInit().

◆ StationNr()

int32_t CbmMvdDetectorId::StationNr ( int32_t detectorId) const
inlineinherited

Get station number from detector ID

Definition at line 65 of file CbmMvdDetectorId.h.

Referenced by CbmMvdDigi::GetStationNr(), CbmMvdHit::GetStationNr(), CbmMvdPoint::GetStationNr(), and GetTrackingStationIndex().

◆ SystemId()

int32_t CbmMvdDetectorId::SystemId ( int32_t detectorId) const
inlineinherited

Get System identifier from detector ID

Definition at line 53 of file CbmMvdDetectorId.h.

References kMvd, and ToIntegralType().

Referenced by CbmMvdHit::GetSystemId(), and CbmMvdPoint::GetSystemId().

◆ ToString()

Member Data Documentation

◆ fMvdStationPar

const CbmMvdStationPar* CbmMvdTrackingInterface::fMvdStationPar {nullptr}
private

Pointer to the Mvd station parameters.

Definition at line 130 of file CbmMvdTrackingInterface.h.

Referenced by GetRadLength(), GetSensorThickness(), and Init().

◆ fpInstance

CbmMvdTrackingInterface* CbmMvdTrackingInterface::fpInstance {nullptr}
inlinestaticprivate

Instance of the class.

Definition at line 128 of file CbmMvdTrackingInterface.h.

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

◆ 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 GetTrackingStationIndex(), and GetTrackingStationIndex().


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