CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTLinearDriftFromDBAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTLinearDrifFromDBtAlgo_H
2 #define RecoLocalMuon_DTLinearDriftFromDBAlgo_H
3 
13 
14 class DTMtime;
15 
17  public:
20 
22  virtual ~DTLinearDriftFromDBAlgo();
23 
24  // Operations
25 
27  virtual void setES(const edm::EventSetup& setup);
28 
29 
34  virtual bool compute(const DTLayer* layer,
35  const DTDigi& digi,
36  LocalPoint& leftPoint,
37  LocalPoint& rightPoint,
38  LocalError& error) const;
39 
40 
44  virtual bool compute(const DTLayer* layer,
45  const DTRecHit1D& recHit1D,
46  const float& angle,
47  DTRecHit1D& newHit1D) const;
48 
49 
55  virtual bool compute(const DTLayer* layer,
56  const DTRecHit1D& recHit1D,
57  const float& angle,
58  const GlobalPoint& globPos,
59  DTRecHit1D& newHit1D) const;
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  //Map of meantimes
83  const DTMtime *mTimeMap;
84 
85  // Times below MinTime (ns) are considered as coming from previous BXs.
86  const float minTime;
87 
88  // Times above MaxTime (ns) are considered as coming from following BXs
89  const float maxTime;
90 
91  // Perform a correction to vDrift for the external wheels
92  const bool doVdriftCorr;
93 
94  // Switch recalculating hit parameters from digi time in Step 2
95  // (when off, Step 2 does nothing)
96  const bool stepTwoFromDigi;
97 
98  // Switch on/off the verbosity
99  const bool debug;
100 };
101 #endif
102 
103 
virtual bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const
virtual ~DTLinearDriftFromDBAlgo()
Destructor.
virtual void setES(const edm::EventSetup &setup)
Pass the Event Setup to the algo at each event.
Definition: DTDigi.h:17
DTLinearDriftFromDBAlgo(const edm::ParameterSet &config)
Constructor.
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11