ATLAS Offline Software
RtSpline.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 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 // 23.03.2005, AUTHOR: OLIVER KORTNER
7 // Modified: 31.05.2006 by O. Kortner: major redesign:
8 // driftVelocity implemented,
9 // resolution has been removed,
10 // set-method have been removed
11 // 04.06.2006 by O. Kortner: bug in constructor fixed,
12 // doxygen entry updated.
13 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 
15 #ifndef MUONCALIB_RtSpline_H
16 #define MUONCALIB_RtSpline_H
17 
19 // HEADER FILES //
21 
22 // standard C++ //
23 #include <cstdlib>
24 #include <iostream>
25 
26 // STL //
27 #include <vector>
28 #include <memory>
29 // MDT calibration //
31 
32 // root
33 class TSpline3;
34 
35 namespace MuonCalib {
45  class RtSpline : public IRtRelation {
46  private:
47  // Spline Class//
48  std::unique_ptr<TSpline3> m_sp3{};
49 
50  public:
51  // Constructors
60  explicit RtSpline(const ParVec &vec);
61 
62  virtual ~RtSpline();
63 
64  // Methods //
65  // methods required by the base classes //
66  inline std::string name() const override final{ return "RtSpline"; }
67 
69  virtual double radius(double t) const override final;
74  virtual double driftVelocity(double t) const override final;
76  virtual double driftAcceleration(double t) const override final;
77 
78 
79  // get-methods specific to the RtSpline class //
80  virtual double tLower() const override final;
82  virtual double tUpper() const override final;
84  virtual double tBinWidth() const override final;
85  };
86 } // namespace MuonCalib
87 
88 #endif
MuonCalib::RtSpline::~RtSpline
virtual ~RtSpline()
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
MuonCalib::RtSpline::tLower
virtual double tLower() const override final
get the lower drift-time bound
Definition: RtSpline.cxx:55
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
MuonCalib::RtSpline::driftAcceleration
virtual double driftAcceleration(double t) const override final
Returns the acceleration of the r-t relation.
Definition: RtSpline.cxx:51
MuonCalib::RtSpline::name
std::string name() const override final
get the class name
Definition: RtSpline.h:66
MuonCalib::RtSpline::driftVelocity
virtual double driftVelocity(double t) const override final
get the drift velocity
Definition: RtSpline.cxx:50
MuonCalib::RtSpline::tUpper
virtual double tUpper() const override final
get the upper drift-time bound
Definition: RtSpline.cxx:57
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::CalibFunc::ParVec
std::vector< double > ParVec
Definition: CalibFunc.h:35
MuonCalib::RtSpline::m_sp3
std::unique_ptr< TSpline3 > m_sp3
Definition: RtSpline.h:48
MuonCalib::RtSpline
Definition: RtSpline.h:45
MuonCalib::RtSpline::tBinWidth
virtual double tBinWidth() const override final
Returns the step-size for the sampling.
Definition: RtSpline.cxx:39
IRtRelation.h
MuonCalib::RtSpline::RtSpline
RtSpline(const ParVec &vec)
initialization constructor,
Definition: RtSpline.cxx:20
MuonCalib::IRtRelation
generic interface for a rt-relation
Definition: IRtRelation.h:15
MuonCalib::RtSpline::radius
virtual double radius(double t) const override final
get the radius corresponding to the drift time t; 0 or 14.6 is returned if t is outside the range
Definition: RtSpline.cxx:42