18#include <boost/serialization/access.hpp>
19#include <boost/serialization/array.hpp>
77 Horner<kPolDegree>(
fBy.cbegin(),
x,
y),
78 Horner<kPolDegree>(
fBz.cbegin(),
x,
y),
fZref);
96 std::string
ToString(
int indentLevel = 0,
int verbose = 1)
const;
99 void CheckConsistency()
const;
103 friend class boost::serialization::access;
104 template<
class Archive>
std::string ToString(CbmCutId id)
Convert CbmCutId to a string representation.
Common constant definitions for the Kalman Filter library.
Magnetic flux density vector representation.
Collection of generic mathematical methods.
T fZref
Reference z of the coefficients [cm].
void serialize(Archive &ar, const unsigned int)
~FieldSlice()=default
Destructor.
CoeffArray_t fBx
Approximation coefficients for the x-component of the field.
CoeffArray_t fBz
Approximation coefficients for the z-component of the field.
static constexpr int kNofCoeff
Number of coefficients.
FieldSlice & operator=(const FieldSlice &other)=default
Copy assignment operator.
FieldSlice(const FieldSlice< I > &other)
Copy constructor.
static constexpr int kPolDegree
Approximation polynomial degree.
CoeffArray_t fBy
Approximation coefficients for the y-component of the field.
const T & GetZref() const
Gets reference z-coordinate of the slice [cm].
FieldSlice()=default
Default constructor.
constexpr FieldValue< T > GetFieldValueForLine(const TrackParam< T > &trkPar) const
Gets field value for the intersection with a straight track.
std::array< T, kNofCoeff > CoeffArray_t
Array of the approximation coefficients [<monomial>].
constexpr FieldValue< T > GetFieldValue(const T &x, const T &y) const
Gets field value at a point on the transverse plane.
Magnetic flux density vector.
T GetTy() const
Gets slope along y-axis.
T GetZ() const
Gets z position [cm].
T GetTx() const
Gets slope along x-axis.
T GetY() const
Gets y position [cm].
T GetX() const
Gets x position [cm].
TrackParam classes of different types.
constexpr T2 Undef
Undefined values.
constexpr T Horner(const T *c, const T &x)
Horner's scheme for a 1D-polynomial estimation.
std::function< std::tuple< double, double, double >(double, double, double)> FieldFn_t
Magnetic field function type Signature: tuple<Bx, By, Bz>(x, y, z);.