CMS 3D CMS Logo

TotemTimingConversions.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * This is a part of CTPPS offline software.
4  * Authors:
5  * Laurent Forthomme (laurent.forthomme@cern.ch)
6  * Nicola Minafra (nicola.minafra@cern.ch)
7  * Filip Dej
8  * Christopher Misan (krzysztof.misan@cern.ch)
9  *
10  ****************************************************************************/
11 
12 #ifndef RecoPPS_Local_TotemTimingConversions
13 #define RecoPPS_Local_TotemTimingConversions
14 
16 
19 
20 #include <string>
21 #include <vector>
22 
24 public:
25  TotemTimingConversions(double sampicSamplingPeriodNs, bool mergeTimePeaks, const PPSTimingCalibration& calibration);
26 
27  float timeOfFirstSample(const TotemTimingDigi& digi) const;
28  float triggerTime(const TotemTimingDigi& digi) const;
29  float timePrecision(const TotemTimingDigi& digi) const;
30  std::vector<float> timeSamples(const TotemTimingDigi& digi) const;
31  std::vector<float> voltSamples(const TotemTimingDigi& digi) const;
32 
33 private:
34  static constexpr float SAMPIC_ADC_V = 1. / 256;
37  static constexpr unsigned long CELL0_MASK = 0xfffffff000;
38 
43 };
44 
45 #endif
static constexpr unsigned long CELL0_MASK
reco::FormulaEvaluator calibrationFunction_
static constexpr float SAMPIC_ADC_V
std::vector< float > voltSamples(const TotemTimingDigi &digi) const
static constexpr int SAMPIC_MAX_NUMBER_OF_SAMPLES
float timeOfFirstSample(const TotemTimingDigi &digi) const
float triggerTime(const TotemTimingDigi &digi) const
PPSTimingCalibration calibration_
std::vector< float > timeSamples(const TotemTimingDigi &digi) const
float timePrecision(const TotemTimingDigi &digi) const
TotemTimingConversions(double sampicSamplingPeriodNs, bool mergeTimePeaks, const PPSTimingCalibration &calibration)
static constexpr int ACCEPTED_TIME_RADIUS