CbmRoot
|
A base class which provides interface to L1Algo station geometry. More...
#include <CaStationInitializer.h>
Public Types | |
enum class | EInitKey { kDetectorID , kStationID , kTrackingStatus , kXmax , kYmax , kType , kTimeInfo , kFieldStatus , kZref , kZmin , kZmax , kFieldSlice , kGeoLayerID , kEnd } |
Enumeration of fields, which must be initialized so the object can pass the threshold. More... | |
using | InitController_t = ca::ObjectInitController<static_cast<int>(EInitKey::kEnd), EInitKey> |
Public Member Functions | |
StationInitializer ()=default | |
Default constructor. | |
StationInitializer (EDetectorID detetorID, int stationID) noexcept | |
Constructor from stationID and detectorID. | |
~StationInitializer () noexcept=default | |
Destructor. | |
StationInitializer (const StationInitializer &other)=default | |
Copy constructor. | |
bool | operator< (const StationInitializer &right) const |
Less operator for StationInitializer object to sort stations in Z. | |
EDetectorID | GetDetectorID () const |
Gets detector ID. | |
int | GetFieldStatus () const |
Gets field status: 0 - station is outside the field, 1 - station is inside the field. | |
const InitController_t & | GetInitController () const |
Gets a const reference to the ca::ObjectInitController object. | |
const Station< fvec > & | GetStation () const |
Gets a reference to ca::Station info field of the L1BaseStation info. | |
int | GetStationID () const |
Gets station ID. | |
int | GetStationType () const |
Gets station type. | |
bool | GetTrackingStatus () const |
Gets tracking status: true - station is active for tracking, false - station exists, but not used in tracking. | |
double | GetXmax () const |
Gets maximum distance between station center and its edge in x direction. | |
double | GetYmax () const |
Gets maximum distance between station center and its edge in y direction. | |
double | GetZref () const |
Gets double precised z position of the station [cm]. | |
double | GetZmin () const |
Gets min z of the station [cm]. | |
double | GetZmax () const |
Gets max z of the station [cm]. | |
fvec | GetZsimdVec () const |
Gets SIMD vectorized z position of the station [cm]. | |
void | Reset () |
Resets fields to the default values. | |
void | SetDetectorID (EDetectorID inID) |
Sets detector ID. | |
void | SetFieldStatus (int fieldStatus) |
Sets flag: true - station is placed in field, false - station is placed outside the field. | |
void | SetFieldFunction (const std::function< void(const double(&xyz)[3], double(&B)[3])> &getFieldValue) |
Sets arrays of the approcimation. | |
void | SetGeoLayerID (int geoLayerID) |
Sets geometry ID (index of the layer in the geometrical setup) | |
void | SetStationID (int inID) |
Sets station ID. | |
void | SetStationType (int inType) |
Sets type of station. | |
void | SetTimeInfo (int inTimeInfo) |
Sets flag: 0 - time information is not provided by this detector type 1 - time information is provided by the detector and can be used in tracking. | |
void | SetTrackingStatus (bool flag) |
Sets tracking status: true - station is active for tracking, false - station exists, but not used in tracking. | |
void | SetXmax (double aSize) |
Sets maximum distance between station center and its edge in x direction. | |
void | SetYmax (double aSize) |
Sets maximum distance between station center and its edge in y direction. | |
void | SetZref (double inZ) |
Sets reference z position of the station. | |
void | SetZmin (double inZ) |
Sets min z of the station. | |
void | SetZmax (double inZ) |
Sets max z of the station. | |
void | Swap (StationInitializer &other) noexcept |
Swap method for easy implementation of move constructor and copy and move assignment operator. | |
std::string | ToString (int verbosityLevel=0, int indentLevel=0) const |
String representation of class contents. | |
Private Types | |
enum class | EManagementFlag { kThicknessMapMoved , kEnd } |
Enumeration for internal logic control. More... | |
using | ManagementFlags_t = std::bitset<static_cast<int>(EManagementFlag::kEnd)> |
Private Attributes | |
EDetectorID | fDetectorID {static_cast<EDetectorID>(0)} |
Detector ID. | |
int | fStationID {-1} |
Local ID of a station. | |
bool | fTrackingStatus {false} |
Tracking status: true - station is used for tracking. | |
double | fXmax {0} |
Maximum distance between station center and its edge in x direction. | |
double | fYmax {0} |
Maximum distance between station center and its edge in y direction. | |
double | fZref {0} |
reference z | |
double | fZmin {0} |
min z | |
double | fZmax {0} |
max z | |
Station< fvec > | fStation {} |
ca::Station structure, describes a station in L1Algo | |
InitController_t | fInitController {} |
Class fileds initialization flags. | |
ManagementFlags_t | fManagementFlags {} |
bitset flags to manage internal behaviour of the class | |
A base class which provides interface to L1Algo station geometry.
Definition at line 25 of file CaStationInitializer.h.
using cbm::algo::ca::StationInitializer::InitController_t = ca::ObjectInitController<static_cast<int>(EInitKey::kEnd), EInitKey> |
Definition at line 57 of file CaStationInitializer.h.
|
private |
Definition at line 32 of file CaStationInitializer.h.
|
strong |
Enumeration of fields, which must be initialized so the object can pass the threshold.
Definition at line 37 of file CaStationInitializer.h.
|
strongprivate |
Enumeration for internal logic control.
Enumerator | |
---|---|
kThicknessMapMoved | if the thickness map was moved from the StationInitializer instance |
kEnd |
Definition at line 27 of file CaStationInitializer.h.
|
default |
Default constructor.
|
noexcept |
Constructor from stationID and detectorID.
Definition at line 27 of file CaStationInitializer.cxx.
|
defaultnoexcept |
Destructor.
|
default |
Copy constructor.
|
inline |
|
inline |
Gets field status: 0 - station is outside the field, 1 - station is inside the field.
Definition at line 78 of file CaStationInitializer.h.
References fStation.
|
inline |
Gets a const reference to the ca::ObjectInitController object.
Definition at line 81 of file CaStationInitializer.h.
References fInitController.
Gets a reference to ca::Station info field of the L1BaseStation info.
Definition at line 45 of file CaStationInitializer.cxx.
References fDetectorID, fInitController, fStation, fStationID, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::IsFinalized().
|
inline |
|
inline |
|
inline |
Gets tracking status: true - station is active for tracking, false - station exists, but not used in tracking.
Definition at line 93 of file CaStationInitializer.h.
References fTrackingStatus.
|
inline |
Gets maximum distance between station center and its edge in x direction.
Definition at line 96 of file CaStationInitializer.h.
References fXmax.
|
inline |
Gets maximum distance between station center and its edge in y direction.
Definition at line 99 of file CaStationInitializer.h.
References fYmax.
|
inline |
Gets max z of the station [cm].
Definition at line 108 of file CaStationInitializer.h.
References fZmax.
|
inline |
Gets min z of the station [cm].
Definition at line 105 of file CaStationInitializer.h.
References fZmin.
|
inline |
Gets double precised z position of the station [cm].
Definition at line 102 of file CaStationInitializer.h.
References fZref.
Referenced by operator<().
|
inline |
Gets SIMD vectorized z position of the station [cm].
Definition at line 111 of file CaStationInitializer.h.
References fStation.
|
inline |
Less operator for StationInitializer object to sort stations in Z.
Definition at line 72 of file CaStationInitializer.h.
References GetZref().
void StationInitializer::Reset | ( | ) |
Resets fields to the default values.
Definition at line 37 of file CaStationInitializer.cxx.
References Swap().
void StationInitializer::SetDetectorID | ( | EDetectorID | inID | ) |
Sets detector ID.
Definition at line 58 of file CaStationInitializer.cxx.
References fDetectorID, fInitController, cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::GetFlag(), kDetectorID, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetFieldFunction | ( | const std::function< void(const double(&xyz)[3], double(&B)[3])> & | getFieldValue | ) |
Sets arrays of the approcimation.
getField | A user function, which gets a xyz array of position coordinates and fills B array of magnetic field components in position |
Magnetic field function type Signature: tuple<Bx, By, Bz>(x, y, z);
Definition at line 72 of file CaStationInitializer.cxx.
References fDetectorID, cbm::algo::ca::Station< DataT >::fieldSlice, fInitController, fStation, fStationID, fXmax, fYmax, fZref, cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::GetFlag(), kFieldSlice, kXmax, kYmax, kZref, cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag(), x, and y.
void StationInitializer::SetFieldStatus | ( | int | fieldStatus | ) |
Sets flag: true - station is placed in field, false - station is placed outside the field.
Definition at line 107 of file CaStationInitializer.cxx.
References fInitController, fStation, kFieldStatus, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetGeoLayerID | ( | int | geoLayerID | ) |
Sets geometry ID (index of the layer in the geometrical setup)
Definition at line 115 of file CaStationInitializer.cxx.
References fInitController, fStation, kGeoLayerID, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetStationID | ( | int | inID | ) |
Sets station ID.
Definition at line 123 of file CaStationInitializer.cxx.
References fInitController, fStationID, cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::GetFlag(), kStationID, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetStationType | ( | int | inType | ) |
Sets type of station.
Definition at line 136 of file CaStationInitializer.cxx.
References fInitController, fStation, cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::GetFlag(), kType, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetTimeInfo | ( | int | inTimeInfo | ) |
Sets flag: 0 - time information is not provided by this detector type 1 - time information is provided by the detector and can be used in tracking.
Definition at line 167 of file CaStationInitializer.cxx.
References fInitController, fStation, kTimeInfo, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetTrackingStatus | ( | bool | flag | ) |
Sets tracking status: true - station is active for tracking, false - station exists, but not used in tracking.
Definition at line 175 of file CaStationInitializer.cxx.
References fInitController, fTrackingStatus, kTrackingStatus, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetXmax | ( | double | aSize | ) |
Sets maximum distance between station center and its edge in x direction.
Definition at line 149 of file CaStationInitializer.cxx.
References fInitController, fStation, fXmax, kXmax, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetYmax | ( | double | aSize | ) |
Sets maximum distance between station center and its edge in y direction.
Definition at line 158 of file CaStationInitializer.cxx.
References fInitController, fStation, fYmax, kYmax, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetZmax | ( | double | inZ | ) |
Sets max z of the station.
Definition at line 200 of file CaStationInitializer.cxx.
References fInitController, fZmax, kZmax, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetZmin | ( | double | inZ | ) |
Sets min z of the station.
Definition at line 192 of file CaStationInitializer.cxx.
References fInitController, fZmin, kZmin, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
void StationInitializer::SetZref | ( | double | inZ | ) |
Sets reference z position of the station.
Definition at line 183 of file CaStationInitializer.cxx.
References fInitController, fStation, fZref, kZref, and cbm::algo::ca::ObjectInitController< NumberOfFlags, InitKeyEnum >::SetFlag().
|
noexcept |
Swap method for easy implementation of move constructor and copy and move assignment operator.
Definition at line 208 of file CaStationInitializer.cxx.
Referenced by Reset().
std::string StationInitializer::ToString | ( | int | verbosityLevel = 0, |
int | indentLevel = 0 ) const |
String representation of class contents.
indentLevel | Number of indent characters in the output |
Definition at line 224 of file CaStationInitializer.cxx.
References fDetectorID, fStation, fStationID, fXmax, fYmax, fZmax, fZmin, and fZref.
|
private |
Detector ID.
Definition at line 166 of file CaStationInitializer.h.
Referenced by GetDetectorID(), GetStation(), SetDetectorID(), SetFieldFunction(), and ToString().
|
private |
Class fileds initialization flags.
Definition at line 175 of file CaStationInitializer.h.
Referenced by GetInitController(), GetStation(), SetDetectorID(), SetFieldFunction(), SetFieldStatus(), SetGeoLayerID(), SetStationID(), SetStationType(), SetTimeInfo(), SetTrackingStatus(), SetXmax(), SetYmax(), SetZmax(), SetZmin(), and SetZref().
|
private |
bitset flags to manage internal behaviour of the class
Definition at line 176 of file CaStationInitializer.h.
ca::Station structure, describes a station in L1Algo
Definition at line 174 of file CaStationInitializer.h.
Referenced by GetFieldStatus(), GetStation(), GetStationType(), GetZsimdVec(), SetFieldFunction(), SetFieldStatus(), SetGeoLayerID(), SetStationType(), SetTimeInfo(), SetXmax(), SetYmax(), SetZref(), and ToString().
|
private |
Local ID of a station.
Definition at line 167 of file CaStationInitializer.h.
Referenced by GetStation(), GetStationID(), SetFieldFunction(), SetStationID(), and ToString().
|
private |
Tracking status: true - station is used for tracking.
Definition at line 168 of file CaStationInitializer.h.
Referenced by GetTrackingStatus(), and SetTrackingStatus().
|
private |
Maximum distance between station center and its edge in x direction.
Definition at line 169 of file CaStationInitializer.h.
Referenced by GetXmax(), SetFieldFunction(), SetXmax(), and ToString().
|
private |
Maximum distance between station center and its edge in y direction.
Definition at line 170 of file CaStationInitializer.h.
Referenced by GetYmax(), SetFieldFunction(), SetYmax(), and ToString().
|
private |
max z
Definition at line 173 of file CaStationInitializer.h.
Referenced by GetZmax(), SetZmax(), and ToString().
|
private |
min z
Definition at line 172 of file CaStationInitializer.h.
Referenced by GetZmin(), SetZmin(), and ToString().
|
private |
reference z
Definition at line 171 of file CaStationInitializer.h.
Referenced by GetZref(), SetFieldFunction(), SetZref(), and ToString().