ATLAS Offline Software
Loading...
Searching...
No Matches
ITrRelation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MDTCALIBDATA_ITrRelation_H
6#define MDTCALIBDATA_ITrRelation_H
7
8// MuonCalib //
12
13#include <optional>
14namespace MuonCalib{
15 class ITrRelation;
17 class ITrRelation: public CalibFunc {
18 public:
22
23 virtual ~ITrRelation() = default;
24 virtual std::string typeName() const override final { return "ITrRelation"; }
27 virtual std::optional<double> driftTime(const double r)const =0;
28 /*** @brief Interface method for fetching the first derivative of the drift-time from the
29 * radius. Returns a nullopt if the time is out of the boundaries */
30 virtual std::optional<double> driftTimePrime(const double r) const =0;
31 /*** @brief Interface method for fetching the second derivative of the drift-time w.r.rt. the drift radius
32 * Returns a nullopt if the parsed time is ouf of the boundaries */
33 virtual std::optional<double> driftTime2Prime(const double r) const = 0;
35 virtual double minRadius() const = 0;
37 virtual double maxRadius() const = 0;
39 virtual unsigned nDoF() const = 0;
42 double getReducedR(const double r) const {
44 }
45
46 double getReducedRPrime() const {
48 }
49 };
50}
51
52
53#endif
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
const ParVec & parameters() const
Definition CalibFunc.h:40
std::vector< double > ParVec
Definition CalibFunc.h:35
CalibFunc(const ParVec &vec)
Definition CalibFunc.h:36
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...
Definition ITrRelation.h:42
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
Definition ITrRelation.h:24
ITrRelation(const ParVec &parameters)
Constructor taking the input r-t relation & the vector of parameters.
Definition ITrRelation.h:20
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.
Definition ITrRelation.h:46
int r
Definition globals.cxx:22
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].
Definition UtilFunc.h:12
GeoModel::TransientConstSharedPtr< ITrRelation > ITrRelationPtr
Definition ITrRelation.h:16
double unitIntervalPrime(const double lowerEdge, const double upperEdge)
Definition UtilFunc.h:15