ATLAS Offline Software
IRtRelation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCALIB_IRTRELATION_H
6 #define MUONCALIB_IRTRELATION_H
7 
9 #include <optional>
10 
11 namespace MuonCalib {
12 
15  class IRtRelation : public CalibFunc {
16  public:
18  virtual ~IRtRelation() = default;
19  virtual std::string typeName() const override final { return "IRtRelation"; }
20 
22  virtual double radius(double t) const = 0;
24  virtual double driftVelocity(double t) const = 0;
26  virtual double driftAcceleration(double t) const = 0;
28  virtual double tLower() const = 0;
30  virtual double tUpper() const = 0;
32  virtual double tBinWidth() const =0;
34  double GetTmaxDiff() const { return m_tmax_diff.value_or(0.); }
35 
36  bool hasTmaxDiff() const { return m_tmax_diff.has_value(); }
37 
39  void SetTmaxDiff(const double d) { m_tmax_diff = d; }
40  private:
41  std::optional<double> m_tmax_diff{std::nullopt};
42  protected:
43  static constexpr double s_tBinWidth = 1.e-3;
44  };
45 
46 } // namespace MuonCalib
47 
48 #endif
hist_file_dump.d
d
Definition: hist_file_dump.py:137
MuonCalib::IRtRelation::hasTmaxDiff
bool hasTmaxDiff() const
Definition: IRtRelation.h:36
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonCalib::IRtRelation::SetTmaxDiff
void SetTmaxDiff(const double d)
set the difference in total drift time betwene the two multilayers (ML1 - ML2)
Definition: IRtRelation.h:39
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
MuonCalib::IRtRelation::typeName
virtual std::string typeName() const override final
Definition: IRtRelation.h:19
MuonCalib::IRtRelation::driftAcceleration
virtual double driftAcceleration(double t) const =0
Returns the acceleration of the r-t relation.
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::IRtRelation::~IRtRelation
virtual ~IRtRelation()=default
MuonCalib::IRtRelation::tUpper
virtual double tUpper() const =0
Returns the upper time covered by the r-t.
MuonCalib::IRtRelation::s_tBinWidth
static constexpr double s_tBinWidth
Definition: IRtRelation.h:43
MuonCalib::IRtRelation::radius
virtual double radius(double t) const =0
returns drift radius for a given time
MuonCalib::IRtRelation::driftVelocity
virtual double driftVelocity(double t) const =0
Returns the drift velocity for a given time.
MuonCalib::IRtRelation::m_tmax_diff
std::optional< double > m_tmax_diff
Definition: IRtRelation.h:41
MuonCalib::IRtRelation::tLower
virtual double tLower() const =0
Returns the lower time covered by the r-t.
MuonCalib::IRtRelation::GetTmaxDiff
double GetTmaxDiff() const
return the difference in total dirft time between the two multilayers (ML1 - ML2)
Definition: IRtRelation.h:34
MuonCalib::IRtRelation::tBinWidth
virtual double tBinWidth() const =0
Returns the step-size for the sampling.
MuonCalib::IRtRelation
generic interface for a rt-relation
Definition: IRtRelation.h:15
MuonCalib::CalibFunc
generic interface for a calibration function.
Definition: CalibFunc.h:33
CalibFunc.h
MuonCalib::CalibFunc::CalibFunc
CalibFunc(const ParVec &vec)
Definition: CalibFunc.h:36