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 
15 
16 
18  public:
21 
23  ~DTNoDriftAlgo() override;
24 
25  // Operations
26 
28  void setES(const edm::EventSetup& setup) override;
29 
30 
35  const DTLayerId& layerId,
36  const DTDigiCollection::Range& digiRange) override;
37 
38 
43  bool compute(const DTLayer* layer,
44  const DTDigi& digi,
45  LocalPoint& leftPoint,
46  LocalPoint& rightPoint,
47  LocalError& error) const override;
48 
49 
53  bool compute(const DTLayer* layer,
54  const DTRecHit1D& recHit1D,
55  const float& angle,
56  DTRecHit1D& newHit1D) const override;
57 
58 
64  bool compute(const DTLayer* layer,
65  const DTRecHit1D& recHit1D,
66  const float& angle,
67  const GlobalPoint& globPos,
68  DTRecHit1D& newHit1D) const override;
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 
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
const float hitResolution
Definition: DTNoDriftAlgo.h:96
edm::OwnVector< DTRecHit1DPair > reconstruct(const DTLayer *layer, const DTLayerId &layerId, const DTDigiCollection::Range &digiRange) override
const float minTime
Definition: DTNoDriftAlgo.h:99
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
const float fixedDrift
Definition: DTNoDriftAlgo.h:93
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
Definition: config.py:1
Definition: DTDigi.h:17
~DTNoDriftAlgo() override
Destructor.
const float maxTime
std::pair< const_iterator, const_iterator > Range
step
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