test
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 
13 
14 class MagneticField;
15 
17  public:
20 
22  virtual ~DTParametrizedDriftAlgo();
23 
24  // Operations
25 
27  virtual void setES(const edm::EventSetup& setup);
28 
29 
35  virtual bool compute(const DTLayer* layer,
36  const DTDigi& digi,
37  LocalPoint& leftPoint,
38  LocalPoint& rightPoint,
39  LocalError& error) const;
40 
41 
49  virtual bool compute(const DTLayer* layer,
50  const DTRecHit1D& recHit1D,
51  const float& angle,
52  DTRecHit1D& newHit1D) const;
53 
54 
62  virtual bool compute(const DTLayer* layer,
63  const DTRecHit1D& recHit1D,
64  const float& angle,
65  const GlobalPoint& globPos,
66  DTRecHit1D& newHit1D) const;
67 
68 
69  private:
70  // Interpolate parametrization function
71  const bool interpolate;
72 
73  // Times below MinTime (ns) are considered as coming from previous BXs.
74  const float minTime;
75 
76  // Times above MaxTime (ns) are considered as coming from following BXs
77  const float maxTime;
78 
79  // Do the actual work.
80  virtual bool compute(const DTLayer* layer,
81  const DTWireId& wireId,
82  const float digiTime,
83  const float& angle,
84  const GlobalPoint& globPos,
85  LocalPoint& leftPoint,
86  LocalPoint& rightPoint,
87  LocalError& error,
88  int step) const;
89 
90  // Interface to the method which does the actual work suited for 2nd and 3rd steps
91  virtual bool compute(const DTLayer* layer,
92  const DTWireId& wireId,
93  const float digiTime,
94  const float& angle,
95  const GlobalPoint& globPos,
96  DTRecHit1D& newHit1D,
97  int step) const;
98 
99  // Switch on/off the verbosity
100  const bool debug;
101 
102 
103  // Pointer to the magnetic field (read from ES once per event)
105 
106 
107 };
108 #endif
109 
110 
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:17
DTParametrizedDriftAlgo(const edm::ParameterSet &config)
Constructor.
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11