CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTNoDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTNoDriftAlgo_H
2 #define RecoLocalMuon_DTNoDriftAlgo_H
3 
14 
15 
16 
18  public:
21 
23  virtual ~DTNoDriftAlgo();
24 
25  // Operations
26 
28  virtual void setES(const edm::EventSetup& setup);
29 
30 
35  const DTLayerId& layerId,
36  const DTDigiCollection::Range& digiRange);
37 
38 
43  virtual bool compute(const DTLayer* layer,
44  const DTDigi& digi,
45  LocalPoint& leftPoint,
46  LocalPoint& rightPoint,
47  LocalError& error) const;
48 
49 
53  virtual bool compute(const DTLayer* layer,
54  const DTRecHit1D& recHit1D,
55  const float& angle,
56  DTRecHit1D& newHit1D) const;
57 
58 
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 
73  // Do the actual work.
74  virtual bool compute(const DTLayer* layer,
75  const DTWireId& wireId,
76  const float digiTime,
77  const GlobalPoint& globPos,
78  LocalPoint& leftPoint,
79  LocalPoint& rightPoint,
80  LocalError& error,
81  int step) const;
82 
83  // Interface to the method which does the actual work suited for 2nd and 3rd steps
84  virtual bool compute(const DTLayer* layer,
85  const DTWireId& wireId,
86  const float digiTime,
87  const GlobalPoint& globPos,
88  DTRecHit1D& newHit1D,
89  int step) const;
90 
91 
92  // The Drift Velocity (cm/ns)
93  const float fixedDrift;
94 
95  // The resolution on the Hits (cm)
96  const float hitResolution;
97 
98  // Times below MinTime (ns) are considered as coming from previous BXs.
99  const float minTime;
100 
101  // Times above MaxTime (ns) are considered as coming from following BXs
102  const float maxTime;
103 
104  // Switch on/off the verbosity
105  const bool debug;
106 };
107 #endif
108 
109 
const float hitResolution
Definition: DTNoDriftAlgo.h:96
const float minTime
Definition: DTNoDriftAlgo.h:99
const float fixedDrift
Definition: DTNoDriftAlgo.h:93
virtual bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const
virtual edm::OwnVector< DTRecHit1DPair > reconstruct(const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange)
Definition: DTDigi.h:17
virtual ~DTNoDriftAlgo()
Destructor.
const float maxTime
std::pair< const_iterator, const_iterator > Range
virtual void setES(const edm::EventSetup &setup)
Pass the Event Setup to the algo at each event.
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
DTNoDriftAlgo(const edm::ParameterSet &config)
Constructor.
const bool debug
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11