CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTParametrizedDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTParametrizedDriftAlgo_H
2 #define RecoLocalMuon_DTParametrizedDriftAlgo_H
3 
15 
16 class MagneticField;
17 
19  public:
22 
24  virtual ~DTParametrizedDriftAlgo();
25 
26  // Operations
27 
29  virtual void setES(const edm::EventSetup& setup);
30 
31 
37  virtual bool compute(const DTLayer* layer,
38  const DTDigi& digi,
39  LocalPoint& leftPoint,
40  LocalPoint& rightPoint,
41  LocalError& error) const;
42 
43 
51  virtual bool compute(const DTLayer* layer,
52  const DTRecHit1D& recHit1D,
53  const float& angle,
54  DTRecHit1D& newHit1D) const;
55 
56 
64  virtual bool compute(const DTLayer* layer,
65  const DTRecHit1D& recHit1D,
66  const float& angle,
67  const GlobalPoint& globPos,
68  DTRecHit1D& newHit1D) const;
69 
70 
71  private:
72  // Interpolate parametrization function
73  static bool interpolate;
74 
75  // Times below MinTime (ns) are considered as coming from previous BXs.
76  static float minTime;
77 
78  // Times above MaxTime (ns) are considered as coming from following BXs
79  static float maxTime;
80 
81  // Do the actual work.
82  virtual bool compute(const DTLayer* layer,
83  const DTWireId& wireId,
84  const float digiTime,
85  const float& angle,
86  const GlobalPoint& globPos,
87  LocalPoint& leftPoint,
88  LocalPoint& rightPoint,
89  LocalError& error,
90  int step) const;
91 
92  // Interface to the method which does the actual work suited for 2nd and 3rd steps
93  virtual bool compute(const DTLayer* layer,
94  const DTWireId& wireId,
95  const float digiTime,
96  const float& angle,
97  const GlobalPoint& globPos,
98  DTRecHit1D& newHit1D,
99  int step) const;
100 
101  // Switch on/off the verbosity
102  static bool debug;
103 
104 
105  // Pointer to the magnetic field (read from ES once per event)
107 
108 
109 };
110 #endif
111 
112 
virtual void setES(const edm::EventSetup &setup)
Pass the Event Setup to the algo at each event.
virtual bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const
virtual ~DTParametrizedDriftAlgo()
Destructor.
const MagneticField * magField
Definition: DTDigi.h:19
DTParametrizedDriftAlgo(const edm::ParameterSet &config)
Constructor.
tuple config
Definition: cmsDriver.py:17
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11