CMS 3D CMS Logo

DTParametrizedDriftAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTParametrizedDriftAlgo_H
2 #define RecoLocalMuon_DTParametrizedDriftAlgo_H
3 
13 
14 class MagneticField;
15 
17 public:
20 
22  ~DTParametrizedDriftAlgo() override;
23 
24  // Operations
25 
27  void setES(const edm::EventSetup& setup) override;
28 
34  bool compute(const DTLayer* layer,
35  const DTDigi& digi,
36  LocalPoint& leftPoint,
37  LocalPoint& rightPoint,
38  LocalError& error) const override;
39 
47  bool compute(const DTLayer* layer,
48  const DTRecHit1D& recHit1D,
49  const float& angle,
50  DTRecHit1D& newHit1D) const override;
51 
59  bool compute(const DTLayer* layer,
60  const DTRecHit1D& recHit1D,
61  const float& angle,
62  const GlobalPoint& globPos,
63  DTRecHit1D& newHit1D) const override;
64 
65 private:
66  // Interpolate parametrization function
67  const bool interpolate;
68 
69  // Times below MinTime (ns) are considered as coming from previous BXs.
70  const float minTime;
71 
72  // Times above MaxTime (ns) are considered as coming from following BXs
73  const float maxTime;
74 
75  // Do the actual work.
76  virtual bool compute(const DTLayer* layer,
77  const DTWireId& wireId,
78  const float digiTime,
79  const float& angle,
80  const GlobalPoint& globPos,
81  LocalPoint& leftPoint,
82  LocalPoint& rightPoint,
84  int step) const;
85 
86  // Interface to the method which does the actual work suited for 2nd and 3rd steps
87  virtual bool compute(const DTLayer* layer,
88  const DTWireId& wireId,
89  const float digiTime,
90  const float& angle,
91  const GlobalPoint& globPos,
92  DTRecHit1D& newHit1D,
93  int step) const;
94 
95  // Switch on/off the verbosity
96  const bool debug;
97 
98  // Pointer to the magnetic field (read from ES once per event)
100 };
101 #endif
DTParametrizedDriftAlgo::compute
bool compute(const DTLayer *layer, const DTDigi &digi, LocalPoint &leftPoint, LocalPoint &rightPoint, LocalError &error) const override
step
step
Definition: StallMonitor.cc:94
DTParametrizedDriftAlgo::setES
void setES(const edm::EventSetup &setup) override
Pass the Event Setup to the algo at each event.
Definition: DTParametrizedDriftAlgo.cc:37
DTParametrizedDriftAlgo::minTime
const float minTime
Definition: DTParametrizedDriftAlgo.h:70
DTRecHitBaseAlgo
Definition: DTRecHitBaseAlgo.h:29
DTParametrizedDriftAlgo
Definition: DTParametrizedDriftAlgo.h:16
DTRecHit1D
Definition: DTRecHit1D.h:25
DTRecHitBaseAlgo.h
DTParametrizedDriftAlgo::magField
const MagneticField * magField
Definition: DTParametrizedDriftAlgo.h:99
DTParametrizedDriftAlgo::interpolate
const bool interpolate
Definition: DTParametrizedDriftAlgo.h:67
relativeConstraints.error
error
Definition: relativeConstraints.py:53
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
DTParametrizedDriftAlgo::~DTParametrizedDriftAlgo
~DTParametrizedDriftAlgo() override
Destructor.
Definition: DTParametrizedDriftAlgo.cc:35
config
Definition: config.py:1
DTWireId
Definition: DTWireId.h:12
Point3DBase< float, LocalTag >
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
edm::ParameterSet
Definition: ParameterSet.h:47
DTParametrizedDriftAlgo::DTParametrizedDriftAlgo
DTParametrizedDriftAlgo(const edm::ParameterSet &config)
Constructor.
Definition: DTParametrizedDriftAlgo.cc:27
LocalError
Definition: LocalError.h:12
DTParametrizedDriftAlgo::maxTime
const float maxTime
Definition: DTParametrizedDriftAlgo.h:73
DTParametrizedDriftAlgo::debug
const bool debug
Definition: DTParametrizedDriftAlgo.h:96
edm::EventSetup
Definition: EventSetup.h:58
DTLayer
Definition: DTLayer.h:25
angle
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11
DTDigi
Definition: DTDigi.h:17
MagneticField
Definition: MagneticField.h:19