CMS 3D CMS Logo

DTRecHitBaseAlgo.h
Go to the documentation of this file.
1 #ifndef RecoLocalMuon_DTRecHitBaseAlgo_H
2 #define RecoLocalMuon_DTRecHitBaseAlgo_H
3 
14 
18 
19 class DTDigi;
20 class DTLayer;
21 class DTLayerId;
22 class DTTTrigBaseSync;
23 
24 namespace edm {
25  class ParameterSet;
26  class EventSetup;
27 } // namespace edm
28 
30 public:
33 
35  virtual ~DTRecHitBaseAlgo();
36 
38  virtual void setES(const edm::EventSetup& setup) = 0;
39 
41  virtual edm::OwnVector<DTRecHit1DPair> reconstruct(const DTLayer* layer,
42  const DTLayerId& layerId,
43  const DTDigiCollection::Range& digiRange);
44 
49  virtual bool compute(const DTLayer* layer,
50  const DTDigi& digi,
51  LocalPoint& leftPoint,
52  LocalPoint& rightPoint,
53  LocalError& error) const = 0;
54 
61  virtual bool compute(const DTLayer* layer,
62  const DTRecHit1D& recHit1D,
63  const float& angle,
64  DTRecHit1D& newHit1D) const = 0;
65 
73  virtual bool compute(const DTLayer* layer,
74  const DTRecHit1D& recHit1D,
75  const float& angle,
76  const GlobalPoint& globPos,
77  DTRecHit1D& newHit1D) const = 0;
78 
79 protected:
80  // The module to be used for digi time synchronization
81  std::unique_ptr<DTTTrigBaseSync> theSync;
82 };
83 #endif
Definition: config.py:1
Definition: DTDigi.h:17
std::unique_ptr< DTTTrigBaseSync > theSync
std::pair< const_iterator, const_iterator > Range
def compute(min, max)
HLT enums.
T angle(T x1, T y1, T z1, T x2, T y2, T z2)
Definition: angle.h:11