10#ifndef KfISetupFactory_h
11#define KfISetupFactory_h 1
17 template<
typename Float>
Common constant definitions for the Kalman Filter library.
Abstract factory for different setups.
virtual Setup< float > Create(FloatTag< float > floatTag, EFieldMode fldMode) const =0
Method to create a setup with single-precision floating point type.
virtual Setup< double > Create(FloatTag< double > floatTag, EFieldMode fldMode) const =0
Method to create a setup with double-precision floating point type.
virtual const FieldFn_t & GetFieldFunction() const =0
Returns a field function.
virtual Setup< fvec > Create(FloatTag< fvec > floatTag, EFieldMode fldMode) const =0
Method to create a setup with vectorized floating point type.
virtual ~ISetupFactory()=default
Destructor.
KF-framework representation of the detector setup.
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.