CMS 3D CMS Logo

DTLinearDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTLinearDriftAlgo_H
2 #define RecoLocalMuon_DTLinearDriftAlgo_H
3 
13 
14 
15 
17  public:
20 
22  ~DTLinearDriftAlgo() override;
23 
24  // Operations
25 
27  void setES(const edm::EventSetup& setup) override;
28 
29 
34  bool compute(const DTLayer* layer,
35  const DTDigi& digi,
36  LocalPoint& leftPoint,
37  LocalPoint& rightPoint,
38  LocalError& error) const override;
39 
40 
44  bool compute(const DTLayer* layer,
45  const DTRecHit1D& recHit1D,
46  const float& angle,
47  DTRecHit1D& newHit1D) const override;
48 
49 
55  bool compute(const DTLayer* layer,
56  const DTRecHit1D& recHit1D,
57  const float& angle,
58  const GlobalPoint& globPos,
59  DTRecHit1D& newHit1D) const override;
60 
61 
62  private:
63 
64  // Do the actual work.
65  virtual bool compute(const DTLayer* layer,
66  const DTWireId& wireId,
67  const float digiTime,
68  const GlobalPoint& globPos,
69  LocalPoint& leftPoint,
70  LocalPoint& rightPoint,
71  LocalError& error,
72  int step) const;
73 
74  // Interface to the method which does the actual work suited for 2nd and 3rd steps
75  virtual bool compute(const DTLayer* layer,
76  const DTWireId& wireId,
77  const float digiTime,
78  const GlobalPoint& globPos,
79  DTRecHit1D& newHit1D,
80  int step) const;
81 
82 
83  // The Drift Velocity (cm/ns)
84  const float vDrift;
85  // // The Drift Velocity (cm/ns) for MB1 Wheel1 (non fluxed chamber) 21-Dec-2006 SL
86  // const float vDriftMB1W1;
87 
88  // The resolution on the Hits (cm)
89  const float hitResolution;
90 
91  // Times below MinTime (ns) are considered as coming from previous BXs.
92  const float minTime;
93 
94  // Times above MaxTime (ns) are considered as coming from following BXs
95  const float maxTime;
96 
97  // Switch on/off the verbosity
98  const bool debug;
99 };
100 #endif
101 
102 
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
Definition: config.py:1
~DTLinearDriftAlgo() override
Destructor.
Definition: DTDigi.h:17
const float hitResolution
DTLinearDriftAlgo(const edm::ParameterSet &config)
Constructor.
step
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11