4#ifndef MuonCalib_BFieldCorFuncH
5#define MuonCalib_BFieldCorFuncH
80 std::string
name()
const;
88 double correction(
double t,
double B_wire,
double B_mu)
const;
96 double correction_to_B(
double t,
double B_wire,
double B_mu,
double B_factor = -1.0)
const;
116 double m_t_min{-std::numeric_limits<double>::max()};
117 double m_t_max{std::numeric_limits<double>::max()};
119 double m_r_min{-std::numeric_limits<double>::max()};
120 double m_r_max{std::numeric_limits<double>::max()};
double t_from_r(const double r, const IRtRelation *rt) const
void setRtRelationship(const IRtRelation &rt)
< set the parameter of the B-field correction function = eps
double integral(const double r_min, const double r_max, const IRtRelation *rt) const
std::vector< double > m_param
double correction(double t, double B_wire, double B_mu) const
get t(r, !=0)-t(r, =0); t = drift time t [ns] for B=0; B_wire = magnetic field parallel to the anode ...
std::string name() const
get the class name
BFieldCorFunc(const std::string &quality, const CalibFunc::ParVec ¶meters, const IRtRelation *rt)
Constructor: quality = "high", slow but accurate initialization initialization of the correction func...
void init(const std::string &quality, const CalibFunc::ParVec ¶ms, const IRtRelation *rt)
double epsilon() const
< get the parameter of the B-field correction function
double correction_to_B(double t, double B_wire, double B_mu, double B_factor=-1.0) const
const ParVec & parameters() const
std::vector< double > ParVec
IMdtBFieldCorFunc(const CalibFunc::ParVec &vec)
generic interface for a rt-relation
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.