6#include "GeoModelKernel/throwExcept.h"
7#include "Acts/Utilities/detail/Polynomials.hpp"
20 for (
unsigned int k = 0; k <
nDoF(); ++k) {
21 time +=
par(k+2) * Acts::detail::legendrePoly(reducedR, k);
23 return std::make_optional(time);
32 for (
unsigned int k = 1; k <
nDoF(); ++k) {
33 dtdr +=
par(k+2) * Acts::detail::legendrePoly(reducedR, k, 1) * dt_dr;
35 return std::make_optional(dtdr);
43 for (
unsigned int k = 2; k <
nDoF(); ++k) {
44 d2tdr2 +=
par(k+2) * Acts::detail::legendrePoly(reducedR, k, 2) * dt_dr;
46 return std::make_optional(d2tdr2);
std::vector< size_t > vec
double par(unsigned int index) const
unsigned int nPar() const
std::vector< double > ParVec
double getReducedR(const double r) const
Maps the radius interval [minRadius;maxRadius] to [-1;1] where the minimal radius is on the lower end...
ITrRelation(const ParVec ¶meters)
Constructor taking the input r-t relation & the vector of parameters.
double getReducedRPrime() const
Returns the derivative of the reduced radisu w.r.t r.
virtual double maxRadius() const override final
Returns the maximum drift-radius.
TrLegendre(const ParVec &vec)
virtual std::string name() const override final
virtual std::optional< double > driftTime2Prime(const double r) const override final
virtual std::optional< double > driftTimePrime(const double r) const override final
virtual unsigned nDoF() const override final
Returns the number of degrees of freedom of the tr relation.
virtual std::optional< double > driftTime(const double r) const override final
Interface method for fetching the drift-time from the radius Returns a nullopt if the time is out of ...
virtual double minRadius() const override final
Returns the minimum drift-radius.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
#define THROW_EXCEPTION(MESSAGE)