Belle II Software  release-05-02-19
EKLMTimeCalibration.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM Headers. */
14 #include <klm/dbobjects/eklm/EKLMTimeCalibrationData.h>
15 
16 /* ROOT headers. */
17 #include <TObject.h>
18 
19 /* C++ headers. */
20 #include <cstdint>
21 #include <map>
22 
23 namespace Belle2 {
32  class EKLMTimeCalibration : public TObject {
33 
34  public:
35 
40 
45 
51  void setTimeCalibrationData(uint16_t strip, EKLMTimeCalibrationData* dat);
52 
57  const EKLMTimeCalibrationData* getTimeCalibrationData(uint16_t strip) const;
58 
63  {
64  m_data.clear();
65  }
66 
70  float getEffectiveLightSpeed() const
71  {
72  return m_EffectiveLightSpeed;
73  }
74 
79  void setEffectiveLightSpeed(float lightSpeed)
80  {
81  m_EffectiveLightSpeed = lightSpeed;
82  }
83 
88  {
90  }
91 
96  void setAmplitudeTimeConstant(float amplitudeTimeConstant)
97  {
98  m_AmplitudeTimeConstant = amplitudeTimeConstant;
99  }
100 
101  private:
102 
104  std::map<uint16_t, EKLMTimeCalibrationData> m_data;
105 
107  float m_EffectiveLightSpeed = 0;
108 
110  float m_AmplitudeTimeConstant = 0;
111 
114 
115  };
116 
118 }
Belle2::EKLMTimeCalibration::getAmplitudeTimeConstant
float getAmplitudeTimeConstant() const
Get amplitude dependence time constant.
Definition: EKLMTimeCalibration.h:95
Belle2::EKLMTimeCalibration::~EKLMTimeCalibration
~EKLMTimeCalibration()
Destructor.
Definition: EKLMTimeCalibration.cc:23
Belle2::EKLMTimeCalibration::EKLMTimeCalibration
EKLMTimeCalibration()
Constructor.
Definition: EKLMTimeCalibration.cc:19
Belle2::EKLMTimeCalibration
Class to store EKLM time calibration data in the database.
Definition: EKLMTimeCalibration.h:40
Belle2::EKLMTimeCalibration::setEffectiveLightSpeed
void setEffectiveLightSpeed(float lightSpeed)
Set effective light speed.
Definition: EKLMTimeCalibration.h:87
Belle2::EKLMTimeCalibration::m_EffectiveLightSpeed
float m_EffectiveLightSpeed
Effective light speed.
Definition: EKLMTimeCalibration.h:115
Belle2::EKLMTimeCalibration::m_data
std::map< uint16_t, EKLMTimeCalibrationData > m_data
Time calibration data.
Definition: EKLMTimeCalibration.h:112
Belle2::EKLMTimeCalibration::setTimeCalibrationData
void setTimeCalibrationData(uint16_t strip, EKLMTimeCalibrationData *dat)
Set time calibration data.
Definition: EKLMTimeCalibration.cc:28
Belle2::EKLMTimeCalibration::m_AmplitudeTimeConstant
float m_AmplitudeTimeConstant
Amplitude dependence time constant.
Definition: EKLMTimeCalibration.h:118
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EKLMTimeCalibration::getEffectiveLightSpeed
float getEffectiveLightSpeed() const
Get effective light speed.
Definition: EKLMTimeCalibration.h:78
Belle2::EKLMTimeCalibration::setAmplitudeTimeConstant
void setAmplitudeTimeConstant(float amplitudeTimeConstant)
Set amplitude dependence time constant.
Definition: EKLMTimeCalibration.h:104
Belle2::EKLMTimeCalibration::ClassDef
ClassDef(Belle2::EKLMTimeCalibration, 2)
Class version.
Belle2::EKLMTimeCalibration::cleanTimeCalibrationData
void cleanTimeCalibrationData()
Clean time calibration data.
Definition: EKLMTimeCalibration.h:70
Belle2::EKLMTimeCalibrationData
EKLM time calibration data (for one strip).
Definition: EKLMTimeCalibrationData.h:33
Belle2::EKLMTimeCalibration::getTimeCalibrationData
const EKLMTimeCalibrationData * getTimeCalibrationData(uint16_t strip) const
Get time calibration data.
Definition: EKLMTimeCalibration.cc:39