ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MdtCalib
MdtCalibData
MdtCalibData
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 //
9
#include <
MdtCalibData/CalibFunc.h
>
10
#include <
MuonCalibMath/UtilFunc.h
>
11
#include "
GeoModelUtilities/TransientConstSharedPtr.h
"
12
13
#include <optional>
14
namespace
MuonCalib
{
15
class
ITrRelation
;
16
using
ITrRelationPtr
=
GeoModel::TransientConstSharedPtr<ITrRelation>
;
17
class
ITrRelation
:
public
CalibFunc
{
18
public
:
20
ITrRelation
(
const
ParVec
&
parameters
):
21
CalibFunc
{
parameters
}{}
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
{
43
return
mapToUnitInterval
(
r
,
minRadius
(),
maxRadius
());
44
}
45
46
double
getReducedRPrime
()
const
{
47
return
unitIntervalPrime
(
minRadius
(),
maxRadius
());
48
}
49
};
50
}
51
52
53
#endif
CalibFunc.h
TransientConstSharedPtr.h
UtilFunc.h
GeoModel::TransientConstSharedPtr
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
Definition
TransientConstSharedPtr.h:13
MuonCalib::CalibFunc::parameters
const ParVec & parameters() const
Definition
CalibFunc.h:40
MuonCalib::CalibFunc::ParVec
std::vector< double > ParVec
Definition
CalibFunc.h:35
MuonCalib::CalibFunc::CalibFunc
CalibFunc(const ParVec &vec)
Definition
CalibFunc.h:36
MuonCalib::ITrRelation
Definition
ITrRelation.h:17
MuonCalib::ITrRelation::maxRadius
virtual double maxRadius() const =0
Returns the maximum drift-radius.
MuonCalib::ITrRelation::driftTime2Prime
virtual std::optional< double > driftTime2Prime(const double r) const =0
MuonCalib::ITrRelation::~ITrRelation
virtual ~ITrRelation()=default
Desctructor.
MuonCalib::ITrRelation::nDoF
virtual unsigned nDoF() const =0
Returns the number of degrees of freedom of the tr relation.
MuonCalib::ITrRelation::getReducedR
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
MuonCalib::ITrRelation::driftTime
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 ...
MuonCalib::ITrRelation::typeName
virtual std::string typeName() const override final
Definition
ITrRelation.h:24
MuonCalib::ITrRelation::ITrRelation
ITrRelation(const ParVec ¶meters)
Constructor taking the input r-t relation & the vector of parameters.
Definition
ITrRelation.h:20
MuonCalib::ITrRelation::driftTimePrime
virtual std::optional< double > driftTimePrime(const double r) const =0
MuonCalib::ITrRelation::minRadius
virtual double minRadius() const =0
Returns the minimum drift-radius.
MuonCalib::ITrRelation::getReducedRPrime
double getReducedRPrime() const
Returns the derivative of the reduced radisu w.r.t r.
Definition
ITrRelation.h:46
r
int r
Definition
globals.cxx:22
const
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition
CscCalcPed.cxx:21
MuonCalib::mapToUnitInterval
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
MuonCalib::ITrRelationPtr
GeoModel::TransientConstSharedPtr< ITrRelation > ITrRelationPtr
Definition
ITrRelation.h:16
MuonCalib::unitIntervalPrime
double unitIntervalPrime(const double lowerEdge, const double upperEdge)
Definition
UtilFunc.h:15
Generated on
for ATLAS Offline Software by
1.17.0