37 return fBuilder.template MakeSetup<double>(fldMode);
45 return fBuilder.template MakeSetup<float>(fldMode);
53 return fBuilder.template MakeSetup<fvec>(fldMode);
71 {
"MvdHit",
"StsHit",
"MuchPixelHit",
"TrdHit",
"TofHit"}};
99 fBuilder.SetMaterialCacheFile(filename.Data(), geoHash);
An abstract factory for different setups.
A base KF-Setup initialization class (source)
Abstract factory for different setups.
Creates a valid initialized Setup instance.
KF-framework representation of the detector setup.
static constexpr double kTargFieldInitStep
Step between nodes in the target field initialization [cm].
bool HasHits(algo::ca::EDetectorID detID) const
Checks, if a tracking detector has hits.
cbm::core::EnumArray< algo::ca::EDetectorID, T > DetectorIDArray_t
Setup< fvec > Create(FloatTag< algo::kf::fvec >, EFieldMode fldMode) const override
Method to create a setup with vectorized floating point type.
algo::kf::SetupBuilder fBuilder
KF-setup builder.
void SetMaterialCacheFile(const TString &filename, size_t geoHash)
Sets the material budget cache file name.
bool IsInGeometry(algo::ca::EDetectorID detID) const
Checks, if a tracking detector is in geometry.
static constexpr DetectorIDArray_t< const char * > kDetHitBrName
Hit branch names vs. EDetectorID.
static constexpr double kTargMaterialOffset
Offset between target upper limit and its material zMax [cm].
DetectorIDArray_t< bool > fvbDetHasHits
Does detector subsystem have hits?
static constexpr int kMatCreatorNrays
Number of rays per dimension for the material budget.
const algo::kf::FieldFn_t & GetFieldFunction() const override
Access to field function.
TrackingGeoSetupFactory(bool requireHitPresence=false)
Constructor (RAII)
DetectorIDArray_t< bool > fvbDetInGeometry
Is detector subsystem in geometry?
Setup< double > Create(FloatTag< double >, EFieldMode fldMode) const override
Method to create a setup with double-precision floating point type.
void CheckDetectorPresence(bool requireHitPresence)
Check detector presence.
Setup< float > Create(FloatTag< float >, EFieldMode fldMode) const override
Method to create a setup with single-precision floating point type.
static constexpr double kMatCreatorPitch
Material budget map minimal bin size [cm].
static constexpr bool kMatCreatorSafeMode
Safe mode of the material map creation.
std::string MaterialCacheFile() const
Gets the material budget cache-file.
static constexpr int kMatCreatorMaxNbins
Max number of bins in the material budget map in x(y) axis.
EDetectorID
Enumeration for the tracking detector subsystems in CBM-CA.
EFieldMode
Enumiration for the magnetic field representation variants in the track fitting algorithm.
std::function< std::tuple< double, double, double >(double, double, double)> FieldFn_t
Magnetic field function type Signature: tuple<Bx, By, Bz>(x, y, z);.
A floating-point tag for tag dispatching.