CMS 3D CMS Logo

DTNoDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTNoDriftAlgo_H
2 #define RecoLocalMuon_DTNoDriftAlgo_H
3 
14 
16 public:
19 
21  ~DTNoDriftAlgo() override;
22 
23  // Operations
24 
26  void setES(const edm::EventSetup& setup) override;
27 
32  const DTLayerId& layerId,
33  const DTDigiCollection::Range& digiRange) override;
34 
39  bool compute(const DTLayer* layer,
40  const DTDigi& digi,
41  LocalPoint& leftPoint,
42  LocalPoint& rightPoint,
43  LocalError& error) const override;
44 
48  bool compute(const DTLayer* layer,
49  const DTRecHit1D& recHit1D,
50  const float& angle,
51  DTRecHit1D& newHit1D) const override;
52 
58  bool compute(const DTLayer* layer,
59  const DTRecHit1D& recHit1D,
60  const float& angle,
61  const GlobalPoint& globPos,
62  DTRecHit1D& newHit1D) const override;
63 
64 private:
65  // Do the actual work.
66  virtual bool compute(const DTLayer* layer,
67  const DTWireId& wireId,
68  const float digiTime,
69  const GlobalPoint& globPos,
70  LocalPoint& leftPoint,
71  LocalPoint& rightPoint,
73  int step) const;
74 
75  // Interface to the method which does the actual work suited for 2nd and 3rd steps
76  virtual bool compute(const DTLayer* layer,
77  const DTWireId& wireId,
78  const float digiTime,
79  const GlobalPoint& globPos,
80  DTRecHit1D& newHit1D,
81  int step) const;
82 
83  // The Drift Velocity (cm/ns)
84  const float fixedDrift;
85 
86  // The resolution on the Hits (cm)
87  const float hitResolution;
88 
89  // Times below MinTime (ns) are considered as coming from previous BXs.
90  const float minTime;
91 
92  // Times above MaxTime (ns) are considered as coming from following BXs
93  const float maxTime;
94 
95  // Switch on/off the verbosity
96  const bool debug;
97 };
98 #endif
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
const float hitResolution
Definition: DTNoDriftAlgo.h:87
edm::OwnVector< DTRecHit1DPair > reconstruct(const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange) override
const float minTime
Definition: DTNoDriftAlgo.h:90
const float fixedDrift
Definition: DTNoDriftAlgo.h:84
Definition: config.py:1
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: DTDigi.h:17
~DTNoDriftAlgo() override
Destructor.
std::pair< const_iterator, const_iterator > Range
const float maxTime
Definition: DTNoDriftAlgo.h:93
DTNoDriftAlgo(const edm::ParameterSet &config, edm::ConsumesCollector)
Constructor.
step
Definition: StallMonitor.cc:98
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
const bool debug
Definition: DTNoDriftAlgo.h:96
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11