CbmRoot
|
Abstract class, which should be inherited by every detecting subsystem tracking interface class. More...
#include <CbmTrackingDetectorInterfaceBase.h>
Classes | |
struct | VolumeInfo |
Structure to store geometry information of each station. More... | |
Public Member Functions | |
virtual | ~CbmTrackingDetectorInterfaceBase () |
Virtual destructor. | |
bool | Check () const |
Checks detector interface: boundary conditions of the parameters. | |
virtual std::string | GetDetectorName () const =0 |
Returns the name of the detector subsystem. | |
int | GetNtrackingStations () const |
Gets actual number of stations, provided by the current geometry setup. | |
virtual std::tuple< double, double > | GetStereoAnglesSensor (int address) const =0 |
Gets stereo angles of the two independent measured coordinates. | |
virtual int | GetTrackingStationIndex (const CbmHit *hit) const =0 |
Gets a tracking station of a CbmHit. | |
virtual int | GetTrackingStationIndex (const FairMCPoint *point) const =0 |
Gets a tracking station of a FairMCPoint. | |
virtual int | GetTrackingStationIndex (int address) const =0 |
Gets a tracking station by the address of element. | |
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 bool | IsTimeInfoProvided (int stationId) const =0 |
Check if station provides time measurements. | |
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 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. | |
Abstract class, which should be inherited by every detecting subsystem tracking interface class.
Definition at line 33 of file CbmTrackingDetectorInterfaceBase.h.
|
inlinevirtual |
Virtual destructor.
Definition at line 81 of file CbmTrackingDetectorInterfaceBase.h.
bool CbmTrackingDetectorInterfaceBase::Check | ( | ) | const |
Checks detector interface: boundary conditions of the parameters.
Definition at line 27 of file CbmTrackingDetectorInterfaceBase.cxx.
References GetDetectorName(), GetNtrackingStations(), GetXmax(), GetXmin(), GetYmax(), GetYmin(), GetZmax(), GetZmin(), GetZref(), and ToString().
Referenced by CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().
|
protected |
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 CollectNodes().
Referenced by CollectNodes(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().
|
inline |
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 fvStationActiveVolume.
Referenced by ToString().
|
inline |
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 fvStationActiveVolume.
Referenced by ToString().
|
inline |
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 fvStationActiveVolume.
Referenced by ToString().
|
inline |
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 fvStationActiveVolume.
Referenced by ToString().
|
inline |
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 fvStationActiveVolume.
Referenced by GetZref(), and ToString().
|
inline |
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 fvStationActiveVolume.
Referenced by GetZref(), and ToString().
|
pure virtual |
Returns the name of the detector subsystem.
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
Referenced by Check(), and CbmCaInputQaSts::InitQa().
|
inlinevirtual |
Gets x,y,t ranges of a CbmPixelHit.
hit | A hit |
Reimplemented in CbmTrdTrackingInterface.
Definition at line 191 of file CbmTrackingDetectorInterfaceBase.h.
References CbmPixelHit::GetDx(), CbmPixelHit::GetDy(), and CbmHit::GetTimeError().
Referenced by CbmTrdTrackingInterface::GetHitRanges().
|
inline |
Gets actual number of stations, provided by the current geometry setup.
Definition at line 90 of file CbmTrackingDetectorInterfaceBase.h.
References fvStationFullVolume.
Referenced by Check(), CbmTrdTrackingInterface::Init(), cbm::ca::InputQaSetup::InitQa(), CbmCaInputQaSts::InitQa(), and ToString().
|
pure virtual |
Gets stereo angles of the two independent measured coordinates.
address | detector unique identifier |
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
|
pure virtual |
Gets a tracking station of a CbmHit.
hit | A pointer to CbmHit |
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
Referenced by CbmCaInputQaTof::ExecQa(), and GetZrefModule().
|
pure virtual |
Gets a tracking station of a FairMCPoint.
point | A pointer to FairMCHit |
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
|
pure virtual |
Gets a tracking station by the address of element.
address | Unique element address |
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 fvStationFullVolume.
Referenced by Check(), and ToString().
|
inline |
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 GetActiveZmax(), and GetActiveZmin().
Referenced by Check(), GetZrefModule(), and ToString().
|
inlinevirtual |
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 GetTrackingStationIndex(), and GetZref().
|
pure virtual |
Check if station provides time measurements.
stationId | Tracking station ID in the setup |
Implemented in CbmMuchTrackingInterface, CbmMvdTrackingInterface, CbmStsTrackingInterface, CbmTofTrackingInterface, and CbmTrdTrackingInterface.
Referenced by ToString().
|
protected |
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 CbmTrdTrackingInterface::Init().
std::string CbmTrackingDetectorInterfaceBase::ToString | ( | ) | const |
Prints all the parameters into table and saves the table as a string.
Definition at line 101 of file CbmTrackingDetectorInterfaceBase.cxx.
References GetActiveXmax(), GetActiveXmin(), GetActiveYmax(), GetActiveYmin(), GetActiveZmax(), GetActiveZmin(), GetNtrackingStations(), GetXmax(), GetXmin(), GetYmax(), GetYmin(), GetZmax(), GetZmin(), GetZref(), and IsTimeInfoProvided().
Referenced by Check().
|
protected |
Geometric properties of each station active volume.
Definition at line 228 of file CbmTrackingDetectorInterfaceBase.h.
Referenced by GetActiveXmax(), GetActiveXmin(), GetActiveYmax(), GetActiveYmin(), GetActiveZmax(), GetActiveZmin(), CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().
|
protected |
Geometric properties of each station passive volume.
Definition at line 227 of file CbmTrackingDetectorInterfaceBase.h.
Referenced by GetNtrackingStations(), GetXmax(), GetXmin(), GetYmax(), GetYmin(), GetZmax(), GetZmin(), CbmMuchTrackingInterface::Init(), CbmMvdTrackingInterface::Init(), CbmStsTrackingInterface::Init(), CbmTofTrackingInterface::Init(), and CbmTrdTrackingInterface::Init().
|
staticconstexprprotected |
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().
|
staticconstexpr |
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().