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::chebychevPolyTn(reducedR, k);
23 return std::make_optional(time);
32 for (
unsigned int k = 1; k <
nDoF(); ++k) {
33 dtdr +=
par(k+2) * Acts::detail::chebychevPolyTn(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::chebychevPolyTn(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 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.
virtual std::string name() const override final
virtual std::optional< double > driftTimePrime(const double r) const override final
TrChebyshev(const ParVec &vec)
virtual std::optional< double > driftTime2Prime(const double r) const override final
virtual unsigned nDoF() const override final
Returns the number of degrees of freedom of the tr relation.
virtual double maxRadius() const override final
Returns the maximum drift-radius.
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
#define THROW_EXCEPTION(MESSAGE)