CMS 3D CMS Logo

DTParametrizedDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTParametrizedDriftAlgo_H
2 #define RecoLocalMuon_DTParametrizedDriftAlgo_H
3 
13 
14 class MagneticField;
15 
17 public:
20 
22  ~DTParametrizedDriftAlgo() override;
23 
24  // Operations
25 
27  void setES(const edm::EventSetup& setup) override;
28 
34  bool compute(const DTLayer* layer,
35  const DTDigi& digi,
36  LocalPoint& leftPoint,
37  LocalPoint& rightPoint,
38  LocalError& error) const override;
39 
47  bool compute(const DTLayer* layer,
48  const DTRecHit1D& recHit1D,
49  const float& angle,
50  DTRecHit1D& newHit1D) const override;
51 
59  bool compute(const DTLayer* layer,
60  const DTRecHit1D& recHit1D,
61  const float& angle,
62  const GlobalPoint& globPos,
63  DTRecHit1D& newHit1D) const override;
64 
65 private:
66  // Interpolate parametrization function
67  const bool interpolate;
68 
69  // Times below MinTime (ns) are considered as coming from previous BXs.
70  const float minTime;
71 
72  // Times above MaxTime (ns) are considered as coming from following BXs
73  const float maxTime;
74 
75  // Do the actual work.
76  virtual bool compute(const DTLayer* layer,
77  const DTWireId& wireId,
78  const float digiTime,
79  const float& angle,
80  const GlobalPoint& globPos,
81  LocalPoint& leftPoint,
82  LocalPoint& rightPoint,
83  LocalError& error,
84  int step) const;
85 
86  // Interface to the method which does the actual work suited for 2nd and 3rd steps
87  virtual bool compute(const DTLayer* layer,
88  const DTWireId& wireId,
89  const float digiTime,
90  const float& angle,
91  const GlobalPoint& globPos,
92  DTRecHit1D& newHit1D,
93  int step) const;
94 
95  // Switch on/off the verbosity
96  const bool debug;
97 
98  // Pointer to the magnetic field (read from ES once per event)
100 };
101 #endif
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
~DTParametrizedDriftAlgo() override
Destructor.
Definition: config.py:1
const MagneticField * magField
Definition: DTDigi.h:17
DTParametrizedDriftAlgo(const edm::ParameterSet &config)
Constructor.
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
step
Definition: StallMonitor.cc:94
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11