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
66
67
68
|
#ifndef RecoLocalMuon_DTTTrigBaseSync_H
#define RecoLocalMuon_DTTTrigBaseSync_H
/** \class DTTTrigBaseSync
* Base class to define the offsets for 1D DT RecHit building
*
* \author G. Cerminara - INFN Torino
*/
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
class DTLayer;
class DTWireId;
namespace edm {
class EventSetup;
}
class DTTTrigBaseSync {
public:
/// Constructor
DTTTrigBaseSync();
/// Destructor
virtual ~DTTTrigBaseSync();
// Operations
/// Pass the Event Setup to the synchronization module at each event
virtual void setES(const edm::EventSetup& setup) = 0;
/// Time (ns) to be subtracted to the digi time.
/// Parameters are the layer and the wireId to which the
/// digi is referred and the estimation of
/// the 3D hit position (globPos)
double offset(const DTLayer* layer, const DTWireId& wireId, const GlobalPoint& globalPos) const;
/// Time (ns) to be subtracted to the digi time.
/// It does not take into account TOF and signal propagation along the wire
virtual double offset(const DTWireId& wireId) const = 0;
/// Time to be subtracted to the digi time,
/// Parameters are the layer and the wireId to which the
/// digi is referred and the estimation of
/// the 3D hit position (globPos)
/// It also returns the different contributions separately:
/// - tTrig is the offset (t_trig)
/// - wirePropCorr is the delay for signal propagation along the wire
/// - tofCorr is the correction due to the particle TOF
virtual double offset(const DTLayer* layer,
const DTWireId& wireId,
const GlobalPoint& globalPos,
double& tTrig,
double& wirePropCorr,
double& tofCorr) const = 0;
/// Time (ns) to be subtracted to the digi time for emulation purposes
/// It does not take into account TOF and signal propagation along the wire
virtual double emulatorOffset(const DTWireId& wireId) const;
/// Time (ns) to be subtracted to the digi time for emulation purposes
/// It does not take into account TOF and signal propagation along the wire
/// It also returns the different contributions separately:
/// - tTrig is the offset (t_trig)
/// - t0cell is the t0 from pulses
virtual double emulatorOffset(const DTWireId& wireId, double& tTrig, double& t0cell) const = 0;
};
#endif
|