1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/****************************************************************************
*
* This is a part of CTPPS offline software.
* Authors:
* Laurent Forthomme (laurent.forthomme@cern.ch)
* Nicola Minafra (nicola.minafra@cern.ch)
*
****************************************************************************/
#ifndef DataFormats_CTPPSReco_TotemTimingRecHit
#define DataFormats_CTPPSReco_TotemTimingRecHit
#include "DataFormats/CTPPSReco/interface/CTPPSTimingRecHit.h"
/// Reconstructed hit in Totem UFSDetectors.
/// \note t: time computed using algorithm timingAlgorithm()
class TotemTimingRecHit : public CTPPSTimingRecHit {
public:
enum TimingAlgorithm { NOT_SET, CFD, SMART, SIMPLE };
static constexpr int NO_T_AVAILABLE = -100;
TotemTimingRecHit()
: CTPPSTimingRecHit(), sampicThresholdTime_(0), tPrecision_(0), amplitude_(0), baselineRMS_(0), mode_(NOT_SET) {}
TotemTimingRecHit(float x,
float xWidth,
float y,
float yWidth,
float z,
float zWidth,
float t,
float sampicThresholdTime,
float tPrecision,
float amplitude,
float baselineRMS,
TimingAlgorithm mode)
: CTPPSTimingRecHit(x, xWidth, y, yWidth, z, zWidth, t),
sampicThresholdTime_(sampicThresholdTime),
tPrecision_(tPrecision),
amplitude_(amplitude),
baselineRMS_(baselineRMS),
mode_(mode) {}
inline void setSampicThresholdTime(float stt) { sampicThresholdTime_ = stt; }
inline float sampicThresholdTime() const { return sampicThresholdTime_; }
inline void setTPrecision(float tPrecision) { tPrecision_ = tPrecision; }
inline float tPrecision() const { return tPrecision_; }
inline void setAmplitude(float amplitude) { amplitude_ = amplitude; }
inline float amplitude() const { return amplitude_; }
inline void setBaselineRMS(float brms) { baselineRMS_ = brms; }
inline float baselineRMS() const { return baselineRMS_; }
inline TimingAlgorithm timingAlgorithm() const { return mode_; }
private:
float sampicThresholdTime_, tPrecision_;
float amplitude_;
float baselineRMS_;
TimingAlgorithm mode_;
};
#endif
|