CMS 3D CMS Logo

DTLinearDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTLinearDriftAlgo_H
2 #define RecoLocalMuon_DTLinearDriftAlgo_H
3 
14 
16 public:
19 
21  ~DTLinearDriftAlgo() override;
22 
23  // Operations
24 
26  void setES(const edm::EventSetup& setup) override;
27 
32  bool compute(const DTLayer* layer,
33  const DTDigi& digi,
34  LocalPoint& leftPoint,
35  LocalPoint& rightPoint,
36  LocalError& error) const override;
37 
41  bool compute(const DTLayer* layer,
42  const DTRecHit1D& recHit1D,
43  const float& angle,
44  DTRecHit1D& newHit1D) const override;
45 
51  bool compute(const DTLayer* layer,
52  const DTRecHit1D& recHit1D,
53  const float& angle,
54  const GlobalPoint& globPos,
55  DTRecHit1D& newHit1D) const override;
56 
57 private:
58  // Do the actual work.
59  virtual bool compute(const DTLayer* layer,
60  const DTWireId& wireId,
61  const float digiTime,
62  const GlobalPoint& globPos,
63  LocalPoint& leftPoint,
64  LocalPoint& rightPoint,
66  int step) const;
67 
68  // Interface to the method which does the actual work suited for 2nd and 3rd steps
69  virtual bool compute(const DTLayer* layer,
70  const DTWireId& wireId,
71  const float digiTime,
72  const GlobalPoint& globPos,
73  DTRecHit1D& newHit1D,
74  int step) const;
75 
76  // The Drift Velocity (cm/ns)
77  const float vDrift;
78  // // The Drift Velocity (cm/ns) for MB1 Wheel1 (non fluxed chamber) 21-Dec-2006 SL
79  // const float vDriftMB1W1;
80 
81  // The resolution on the Hits (cm)
82  const float hitResolution;
83 
84  // Times below MinTime (ns) are considered as coming from previous BXs.
85  const float minTime;
86 
87  // Times above MaxTime (ns) are considered as coming from following BXs
88  const float maxTime;
89 
90  // Switch on/off the verbosity
91  const bool debug;
92 };
93 #endif
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
Definition: config.py:1
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
~DTLinearDriftAlgo() override
Destructor.
Definition: DTDigi.h:17
const float hitResolution
DTLinearDriftAlgo(const edm::ParameterSet &config, edm::ConsumesCollector)
Constructor.
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
step
Definition: StallMonitor.cc:98
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11