CbmRoot
|
A CbmL1 subtask, which provides necessary methods for CA tracker to access the geometry and dataflow s ettings. More...
#include <CbmTrdTrackingInterface.h>
Public Member Functions | |
CbmTrdTrackingInterface () | |
Default constructor. | |
~CbmTrdTrackingInterface () | |
Destructor. | |
CbmTrdTrackingInterface (const CbmTrdTrackingInterface &)=delete | |
Copy constructor. | |
CbmTrdTrackingInterface (CbmTrdTrackingInterface &&)=delete | |
Move constructor. | |
CbmTrdTrackingInterface & | operator= (const CbmTrdTrackingInterface &)=delete |
Copy assignment operator. | |
CbmTrdTrackingInterface & | operator= (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 CbmTrdTrackingInterface * | Instance () |
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< VolumeInfo > | fvStationFullVolume {} |
Geometric properties of each station passive volume. | |
std::vector< VolumeInfo > | fvStationActiveVolume {} |
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 | |
CbmTrdParSetDigi * | fTrdDigiPar {nullptr} |
Static Private Attributes | |
static CbmTrdTrackingInterface * | fpInstance {nullptr} |
Instance of the class. | |
A CbmL1 subtask, which provides necessary methods for CA tracker to access the geometry and dataflow s ettings.
Definition at line 32 of file CbmTrdTrackingInterface.h.
CbmTrdTrackingInterface::CbmTrdTrackingInterface | ( | ) |
Default constructor.
CbmTrdTrackingInterface::~CbmTrdTrackingInterface | ( | ) |
|
delete |
Copy constructor.
|
delete |
Move constructor.
|
inlineprivate |
Gets pointer to the TRD module.
moduleId | Id of the Trd module |
Definition at line 105 of file CbmTrdTrackingInterface.h.
References fTrdDigiPar, CbmTrdParSet::GetModuleId(), and CbmTrdParSet::GetModulePar().
|
inherited |
Checks detector interface: boundary conditions of the parameters.
Definition at line 27 of file CbmTrackingDetectorInterfaceBase.cxx.
References CbmTrackingDetectorInterfaceBase::GetDetectorName(), CbmTrackingDetectorInterfaceBase::GetNtrackingStations(), CbmTrackingDetectorInterfaceBase::GetXmax(), CbmTrackingDetectorInterfaceBase::GetXmin(), CbmTrackingDetectorInterfaceBase::GetYmax(), CbmTrackingDetectorInterfaceBase::GetYmin(), CbmTrackingDetectorInterfaceBase::GetZmax(), CbmTrackingDetectorInterfaceBase::GetZmin(), CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::ToString().
Referenced by CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and Init().
|
private |
|
protectedinherited |
Collects paths of the components.
[in] | detector | Name hint of the detector |
[in] | component | Name of the active node component |
[in,out] | path | Path to the node |
[in,out] | pNode | Pointer to the node |
Definition at line 127 of file CbmTrackingDetectorInterfaceBase.cxx.
References CbmTrackingDetectorInterfaceBase::CollectNodes().
Referenced by CbmTrackingDetectorInterfaceBase::CollectNodes(), CbmTofTrackingInterface::Init(), and Init().
|
inlineinherited |
Gets upper bound of the station active volume along x-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 161 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets lower bound of the station active volume along x-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 156 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets upper bound of the station active volume along y-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 171 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets lower bound of the station active volume along y-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 166 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets upper bound of the station active volume along z-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 181 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets lower bound of the station active volume along z-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 176 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationActiveVolume.
Referenced by CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineoverridevirtual |
Gets name of this subsystem.
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 53 of file CbmTrdTrackingInterface.h.
|
overridevirtual |
Gets x,y,t ranges of a CbmTrdHit.
hit | A hit |
Reimplemented from CbmTrackingDetectorInterfaceBase.
Definition at line 59 of file CbmTrdTrackingInterface.cxx.
References fTrdDigiPar, CbmHit::GetAddress(), CbmTrdHit::GetClassType(), CbmPixelHit::GetDx(), CbmPixelHit::GetDy(), CbmTrackingDetectorInterfaceBase::GetHitRanges(), CbmTrdParSet::GetModulePar(), CbmTrdParModDigi::GetOrientation(), and sqrt().
|
inlineinherited |
Gets actual number of stations, provided by the current geometry setup.
Definition at line 90 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), Init(), cbm::ca::InputQaSetup::InitQa(), CbmCaInputQaSts::InitQa(), and CbmTrackingDetectorInterfaceBase::ToString().
|
overridevirtual |
Gets stereo angles of the two independent measured coordinates.
address | detector unique identifier |
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 43 of file CbmTrdTrackingInterface.cxx.
References fTrdDigiPar, CbmTrdParSet::GetModulePar(), and CbmTrdParModDigi::GetOrientation().
|
inlineoverridevirtual |
Gets a tracking station of a CbmHit.
hit | A pointer to CbmHit |
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 64 of file CbmTrdTrackingInterface.h.
References CbmHit::GetAddress(), and GetTrackingStationIndex().
Referenced by CbmTrackingTrdQa::Exec(), CbmTrackingTrdQa::FillHitMap(), GetTrackingStationIndex(), and GetTrackingStationIndex().
|
inlineoverridevirtual |
Gets a tracking station of a FairMCPoint.
point | A pointer to FairMCHit |
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 74 of file CbmTrdTrackingInterface.h.
References GetTrackingStationIndex().
|
inlineoverridevirtual |
Gets a tracking station by the address.
address | Unique element address |
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 69 of file CbmTrdTrackingInterface.h.
References CbmTrdAddress::GetLayerId().
|
inlineinherited |
Gets upper bound of a station passive volume along the X-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 116 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets lower bound of a station passive volume along the X-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 121 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets upper bound of a station passive volume along the Y-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 126 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets lower bound of a station passive volume along the Y-axis.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 131 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets max z of the station passive volume.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 151 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets min z of the station passive volume.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 146 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::fvStationFullVolume.
Referenced by CbmTrackingDetectorInterfaceBase::Check(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlineinherited |
Gets reference z of the station passive volume.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Definition at line 136 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::GetActiveZmax(), and CbmTrackingDetectorInterfaceBase::GetActiveZmin().
Referenced by CbmTrackingDetectorInterfaceBase::Check(), CbmTrackingDetectorInterfaceBase::GetZrefModule(), and CbmTrackingDetectorInterfaceBase::ToString().
|
inlinevirtualinherited |
Gets reference z of the detector module (e.g., RPC for TOF)
address | Address of the module |
Reimplemented in CbmTofTrackingInterface.
Definition at line 141 of file CbmTrackingDetectorInterfaceBase.h.
References CbmTrackingDetectorInterfaceBase::GetTrackingStationIndex(), and CbmTrackingDetectorInterfaceBase::GetZref().
|
override |
FairTask: Init method.
Definition at line 89 of file CbmTrdTrackingInterface.cxx.
References CbmTrackingDetectorInterfaceBase::Check(), CbmTrackingDetectorInterfaceBase::CollectNodes(), fTrdDigiPar, CbmTrackingDetectorInterfaceBase::fvStationActiveVolume, CbmTrackingDetectorInterfaceBase::fvStationFullVolume, CbmTrdParSet::GetModuleId(), CbmTrdParSet::GetModulePar(), CbmTrackingDetectorInterfaceBase::GetNtrackingStations(), CbmTrackingDetectorInterfaceBase::kLegacy, and CbmTrackingDetectorInterfaceBase::ReadVolume().
Referenced by ReInit().
|
inlinestatic |
Gets pointer to the instance of the CbmTrdTrackingInterface.
Definition at line 93 of file CbmTrdTrackingInterface.h.
References fpInstance.
Referenced by CbmKfTrackFitter::CreateGlobalTrack(), CbmTrackingTrdQa::Exec(), CbmTrackingTrdQa::FillHitMap(), CbmTrackingTrdQa::GetGeometry(), cbm::kf::GetTrackingInterface(), cbm::ca::IdealHitProducerDet< DetID >::Init(), cbm::kf::TrackingSetupBuilder::Init(), CbmKfTrackFitter::Init(), CbmL1::Init(), cbm::ca::InputQaSetup::InitQa(), CbmCaInputQaTrd::InitQa(), cbm::ca::MCModule::InitRun(), and cbm::ca::TimeSliceReader::InitRun().
|
inlineoverridevirtual |
Check if station provides time measurements.
stationId | Tracking station ID in the setup (NOTE: must be in range [0..GetNstations()-1]) |
Implements CbmTrackingDetectorInterfaceBase.
Definition at line 82 of file CbmTrdTrackingInterface.h.
|
delete |
Move assignment operator.
|
delete |
Copy assignment operator.
|
protectedinherited |
Creates volume info from a geo node provided by path.
path | Path to volume in TGeoManager |
std::runtime_error | If node is not found by path |
Definition at line 154 of file CbmTrackingDetectorInterfaceBase.cxx.
References CbmTrackingDetectorInterfaceBase::VolumeInfo::fXmax, CbmTrackingDetectorInterfaceBase::VolumeInfo::fXmin, CbmTrackingDetectorInterfaceBase::VolumeInfo::fYmax, CbmTrackingDetectorInterfaceBase::VolumeInfo::fYmin, CbmTrackingDetectorInterfaceBase::VolumeInfo::fZmax, CbmTrackingDetectorInterfaceBase::VolumeInfo::fZmin, max(), min(), and shape.
Referenced by CbmTofTrackingInterface::Init(), and Init().
|
override |
FairTask: ReInit method.
Definition at line 162 of file CbmTrdTrackingInterface.cxx.
References Init(), and SetParContainers().
|
override |
FairTask: sets parameter containers up.
Definition at line 170 of file CbmTrdTrackingInterface.cxx.
References fTrdDigiPar.
Referenced by ReInit().
|
inherited |
Prints all the parameters into table and saves the table as a string.
Definition at line 101 of file CbmTrackingDetectorInterfaceBase.cxx.
References CbmTrackingDetectorInterfaceBase::GetActiveXmax(), CbmTrackingDetectorInterfaceBase::GetActiveXmin(), CbmTrackingDetectorInterfaceBase::GetActiveYmax(), CbmTrackingDetectorInterfaceBase::GetActiveYmin(), CbmTrackingDetectorInterfaceBase::GetActiveZmax(), CbmTrackingDetectorInterfaceBase::GetActiveZmin(), CbmTrackingDetectorInterfaceBase::GetNtrackingStations(), CbmTrackingDetectorInterfaceBase::GetXmax(), CbmTrackingDetectorInterfaceBase::GetXmin(), CbmTrackingDetectorInterfaceBase::GetYmax(), CbmTrackingDetectorInterfaceBase::GetYmin(), CbmTrackingDetectorInterfaceBase::GetZmax(), CbmTrackingDetectorInterfaceBase::GetZmin(), CbmTrackingDetectorInterfaceBase::GetZref(), and CbmTrackingDetectorInterfaceBase::IsTimeInfoProvided().
Referenced by CbmTrackingDetectorInterfaceBase::Check().
|
inlinestaticprivate |
Instance of the class.
Definition at line 110 of file CbmTrdTrackingInterface.h.
Referenced by Instance(), and ~CbmTrdTrackingInterface().
|
private |
Definition at line 112 of file CbmTrdTrackingInterface.h.
Referenced by __attribute__(), GetHitRanges(), GetStereoAnglesSensor(), Init(), and SetParContainers().
|
protectedinherited |
Geometric properties of each station active volume.
Definition at line 228 of file CbmTrackingDetectorInterfaceBase.h.
Referenced by CbmTrackingDetectorInterfaceBase::GetActiveXmax(), CbmTrackingDetectorInterfaceBase::GetActiveXmin(), CbmTrackingDetectorInterfaceBase::GetActiveYmax(), CbmTrackingDetectorInterfaceBase::GetActiveYmin(), CbmTrackingDetectorInterfaceBase::GetActiveZmax(), CbmTrackingDetectorInterfaceBase::GetActiveZmin(), CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and Init().
|
protectedinherited |
Geometric properties of each station passive volume.
Definition at line 227 of file CbmTrackingDetectorInterfaceBase.h.
Referenced by CbmTrackingDetectorInterfaceBase::GetNtrackingStations(), CbmTrackingDetectorInterfaceBase::GetXmax(), CbmTrackingDetectorInterfaceBase::GetXmin(), CbmTrackingDetectorInterfaceBase::GetYmax(), CbmTrackingDetectorInterfaceBase::GetYmin(), CbmTrackingDetectorInterfaceBase::GetZmax(), CbmTrackingDetectorInterfaceBase::GetZmin(), CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and Init().
|
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().
|
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().