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 
16 
17 
18 
20  public:
23 
25  virtual ~DTNoDriftAlgo();
26 
27  // Operations
28 
30  virtual void setES(const edm::EventSetup& setup);
31 
32 
37  const DTLayerId& layerId,
38  const DTDigiCollection::Range& digiRange);
39 
40 
45  virtual bool compute(const DTLayer* layer,
46  const DTDigi& digi,
47  LocalPoint& leftPoint,
48  LocalPoint& rightPoint,
49  LocalError& error) const;
50 
51 
55  virtual bool compute(const DTLayer* layer,
56  const DTRecHit1D& recHit1D,
57  const float& angle,
58  DTRecHit1D& newHit1D) const;
59 
60 
66  virtual bool compute(const DTLayer* layer,
67  const DTRecHit1D& recHit1D,
68  const float& angle,
69  const GlobalPoint& globPos,
70  DTRecHit1D& newHit1D) const;
71 
72 
73  private:
74 
75  // Do the actual work.
76  virtual bool compute(const DTLayer* layer,
77  const DTWireId& wireId,
78  const float digiTime,
79  const GlobalPoint& globPos,
80  LocalPoint& leftPoint,
81  LocalPoint& rightPoint,
82  LocalError& error,
83  int step) const;
84 
85  // Interface to the method which does the actual work suited for 2nd and 3rd steps
86  virtual bool compute(const DTLayer* layer,
87  const DTWireId& wireId,
88  const float digiTime,
89  const GlobalPoint& globPos,
90  DTRecHit1D& newHit1D,
91  int step) const;
92 
93 
94  // The Drift Velocity (cm/ns)
95  static float fixedDrift;
96 
97  // The resolution on the Hits (cm)
98  static float hitResolution;
99 
100  // Times below MinTime (ns) are considered as coming from previous BXs.
101  static float minTime;
102 
103  // Times above MaxTime (ns) are considered as coming from following BXs
104  static float maxTime;
105 
106  // Switch on/off the verbosity
107  static bool debug;
108 };
109 #endif
110 
111 
static bool debug
static float maxTime
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:19
virtual ~DTNoDriftAlgo()
Destructor.
static float hitResolution
Definition: DTNoDriftAlgo.h:98
std::pair< const_iterator, const_iterator > Range
virtual void setES(const edm::EventSetup &setup)
Pass the Event Setup to the algo at each event.
static float fixedDrift
Definition: DTNoDriftAlgo.h:95
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
DTNoDriftAlgo(const edm::ParameterSet &config)
Constructor.
static float minTime
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11