Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Protected Attributes | Private Attributes | List of all members
MuonCalib::IRtRelation Class Referenceabstract

generic interface for a rt-relation More...

#include <IRtRelation.h>

Inheritance diagram for MuonCalib::IRtRelation:
Collaboration diagram for MuonCalib::IRtRelation:

Public Types

using ParVec = std::vector< double >
 

Public Member Functions

virtual ~IRtRelation ()=default
 
virtual std::string typeName () const override final
 
virtual double radius (double t) const =0
 returns drift radius for a given time More...
 
virtual double driftVelocity (double t) const =0
 Returns the drift velocity for a given time. More...
 
virtual double driftAcceleration (double t) const =0
 Returns the acceleration of the r-t relation. More...
 
virtual double tLower () const =0
 Returns the lower time covered by the r-t. More...
 
virtual double tUpper () const =0
 Returns the upper time covered by the r-t. More...
 
virtual double tBinWidth () const =0
 Returns the step-size for the sampling. More...
 
virtual unsigned nDoF () const =0
 Returns the number of degrees of freedom of the relation function
More...
 
double GetTmaxDiff () const
 return the difference in total dirft time between the two multilayers (ML1 - ML2) More...
 
bool hasTmaxDiff () const
 
void SetTmaxDiff (const double d)
 set the difference in total drift time betwene the two multilayers (ML1 - ML2) More...
 
double getReducedTime (const double t) const
 map the in the interval [tLower;tUpper] onto the interval [-1. More...
 
double dReducedTimeDt () const
 
 CalibFunc (const ParVec &vec)
 
unsigned int nPar () const
 
const ParVecparameters () const
 
double par (unsigned int index) const
 
virtual std::string name () const =0
 

Static Protected Attributes

static constexpr double s_tBinWidth = 1.e-3
 

Private Attributes

std::optional< double > m_tmax_diff {std::nullopt}
 
ParVec m_parameters {}
 

Detailed Description

generic interface for a rt-relation

Definition at line 19 of file IRtRelation.h.

Member Typedef Documentation

◆ ParVec

using MuonCalib::CalibFunc::ParVec = std::vector<double>
inherited

Definition at line 35 of file CalibFunc.h.

Constructor & Destructor Documentation

◆ ~IRtRelation()

virtual MuonCalib::IRtRelation::~IRtRelation ( )
virtualdefault

Member Function Documentation

◆ CalibFunc()

MuonCalib::CalibFunc::CalibFunc
inlineexplicit

Definition at line 36 of file CalibFunc.h.

36  :
37  m_parameters{vec} {}

◆ dReducedTimeDt()

double MuonCalib::IRtRelation::dReducedTimeDt ( ) const
inline

Definition at line 53 of file IRtRelation.h.

53  {
54  return unitIntervalPrime(tLower(), tUpper());
55  }

◆ driftAcceleration()

virtual double MuonCalib::IRtRelation::driftAcceleration ( double  t) const
pure virtual

◆ driftVelocity()

virtual double MuonCalib::IRtRelation::driftVelocity ( double  t) const
pure virtual

◆ getReducedTime()

double MuonCalib::IRtRelation::getReducedTime ( const double  t) const
inline

map the in the interval [tLower;tUpper] onto the interval [-1.

;1.] where tLower is mapped to -1. & tUpper to 1.;

Definition at line 49 of file IRtRelation.h.

49  {
50  return mapToUnitInterval(t, tLower(), tUpper());
51  }

◆ GetTmaxDiff()

double MuonCalib::IRtRelation::GetTmaxDiff ( ) const
inline

return the difference in total dirft time between the two multilayers (ML1 - ML2)

Definition at line 40 of file IRtRelation.h.

40 { return m_tmax_diff.value_or(0.); }

◆ hasTmaxDiff()

bool MuonCalib::IRtRelation::hasTmaxDiff ( ) const
inline

Definition at line 42 of file IRtRelation.h.

42 { return m_tmax_diff.has_value(); }

◆ name()

virtual std::string MuonCalib::CalibFunc::name ( ) const
pure virtualinherited

◆ nDoF()

virtual unsigned MuonCalib::IRtRelation::nDoF ( ) const
pure virtual

Returns the number of degrees of freedom of the relation function

Implemented in MuonCalib::RtSpline, MuonCalib::RtLegendre, MuonCalib::RtChebyshev, MuonCalib::RtRelationLookUp, and MuonCalib::RtSimplePolynomial.

◆ nPar()

unsigned int MuonCalib::CalibFunc::nPar ( ) const
inlineinherited

Definition at line 39 of file CalibFunc.h.

39 { return m_parameters.size(); }

◆ par()

double MuonCalib::CalibFunc::par ( unsigned int  index) const
inlineinherited

Definition at line 41 of file CalibFunc.h.

41  {
42  return index < nPar() ? m_parameters[index] : 0.;
43  }

◆ parameters()

const ParVec& MuonCalib::CalibFunc::parameters ( ) const
inlineinherited

Definition at line 40 of file CalibFunc.h.

40 { return m_parameters; }

◆ radius()

virtual double MuonCalib::IRtRelation::radius ( double  t) const
pure virtual

◆ SetTmaxDiff()

void MuonCalib::IRtRelation::SetTmaxDiff ( const double  d)
inline

set the difference in total drift time betwene the two multilayers (ML1 - ML2)

Definition at line 45 of file IRtRelation.h.

45 { m_tmax_diff = d; }

◆ tBinWidth()

virtual double MuonCalib::IRtRelation::tBinWidth ( ) const
pure virtual

◆ tLower()

virtual double MuonCalib::IRtRelation::tLower ( ) const
pure virtual

◆ tUpper()

virtual double MuonCalib::IRtRelation::tUpper ( ) const
pure virtual

◆ typeName()

virtual std::string MuonCalib::IRtRelation::typeName ( ) const
inlinefinaloverridevirtual

Implements MuonCalib::CalibFunc.

Definition at line 23 of file IRtRelation.h.

23 { return "IRtRelation"; }

Member Data Documentation

◆ m_parameters

ParVec MuonCalib::CalibFunc::m_parameters {}
privateinherited

Definition at line 48 of file CalibFunc.h.

◆ m_tmax_diff

std::optional<double> MuonCalib::IRtRelation::m_tmax_diff {std::nullopt}
private

Definition at line 58 of file IRtRelation.h.

◆ s_tBinWidth

constexpr double MuonCalib::IRtRelation::s_tBinWidth = 1.e-3
staticconstexprprotected

Definition at line 60 of file IRtRelation.h.


The documentation for this class was generated from the following file:
index
Definition: index.py:1
hist_file_dump.d
d
Definition: hist_file_dump.py:143
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonCalib::unitIntervalPrime
double unitIntervalPrime(const double lowerEdge, const double upperEdge)
Definition: UtilFunc.h:15
MuonCalib::IRtRelation::tUpper
virtual double tUpper() const =0
Returns the upper time covered by the r-t.
MuonCalib::IRtRelation::m_tmax_diff
std::optional< double > m_tmax_diff
Definition: IRtRelation.h:58
MuonCalib::IRtRelation::tLower
virtual double tLower() const =0
Returns the lower time covered by the r-t.
DeMoScan.index
string index
Definition: DeMoScan.py:364
MuonCalib::CalibFunc::m_parameters
ParVec m_parameters
Definition: CalibFunc.h:48
MuonCalib::CalibFunc::nPar
unsigned int nPar() const
Definition: CalibFunc.h:39
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