5#ifndef MDTCALIBDATA_ITrRelation_H
6#define MDTCALIBDATA_ITrRelation_H
24 virtual std::string
typeName()
const override final {
return "ITrRelation"; }
27 virtual std::optional<double>
driftTime(
const double r)
const =0;
39 virtual unsigned nDoF()
const = 0;
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
const ParVec & parameters() const
std::vector< double > ParVec
CalibFunc(const ParVec &vec)
virtual double maxRadius() const =0
Returns the maximum drift-radius.
virtual std::optional< double > driftTime2Prime(const double r) const =0
virtual ~ITrRelation()=default
Desctructor.
virtual unsigned nDoF() const =0
Returns the number of degrees of freedom of the tr relation.
double getReducedR(const double r) const
Maps the radius interval [minRadius;maxRadius] to [-1;1] where the minimal radius is on the lower end...
virtual std::optional< double > driftTime(const double r) const =0
Interface method for fetching the drift-time from the radius Returns a nullopt if the time is out of ...
virtual std::string typeName() const override final
ITrRelation(const ParVec ¶meters)
Constructor taking the input r-t relation & the vector of parameters.
virtual std::optional< double > driftTimePrime(const double r) const =0
virtual double minRadius() const =0
Returns the minimum drift-radius.
double getReducedRPrime() const
Returns the derivative of the reduced radisu w.r.t r.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
double mapToUnitInterval(const double x, const double lowerEdge, const double upperEdge)
Maps the number x which is in [lowEdge;upperEdge] to the interval [-1;1].
GeoModel::TransientConstSharedPtr< ITrRelation > ITrRelationPtr
double unitIntervalPrime(const double lowerEdge, const double upperEdge)