CMS 3D CMS Logo

ME0SegmentAlgorithmBase.h
Go to the documentation of this file.
1 #ifndef GEMRecHit_ME0SegmentAlgorithmBase_h
2 #define GEMRecHit_ME0SegmentAlgorithmBase_h
3 
20 #include <map>
21 #include <vector>
22 
24 public:
25  struct HitAndPosition {
26  HitAndPosition(const ME0RecHit* rh, const LocalPoint& lp, const GlobalPoint& gp, unsigned int idx)
27  : rh(rh), lp(lp), gp(gp), layer(rh->me0Id().layer()), idx(idx) {}
28  const ME0RecHit* rh;
31  unsigned int layer;
32  unsigned int idx;
33  };
34 
35  typedef std::vector<HitAndPosition> HitAndPositionContainer;
36  typedef std::vector<const HitAndPosition*> HitAndPositionPtrContainer;
37 
42 
45  virtual std::vector<ME0Segment> run(const ME0Chamber* chamber, const HitAndPositionContainer& rechits) = 0;
46 
47 private:
48 };
49 #endif
virtual std::vector< ME0Segment > run(const ME0Chamber *chamber, const HitAndPositionContainer &rechits)=0
virtual ~ME0SegmentAlgorithmBase()
Destructor.
std::vector< HitAndPosition > HitAndPositionContainer
std::vector< const HitAndPosition * > HitAndPositionPtrContainer
HitAndPosition(const ME0RecHit *rh, const LocalPoint &lp, const GlobalPoint &gp, unsigned int idx)
ME0SegmentAlgorithmBase(const edm::ParameterSet &)
Constructor.