00001 #ifndef LayerWithHits_H 00002 #define LayerWithHits_H 00003 00004 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h" 00005 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" 00006 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2DCollection.h" 00007 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2DCollection.h" 00008 #include "DataFormats/Common/interface/RangeMap.h" 00009 #include "TrackingTools/DetLayers/interface/DetLayer.h" 00010 00011 class LayerWithHits 00012 { 00013 public: 00014 LayerWithHits(const DetLayer *dl,std::vector<const TrackingRecHit*> theInputHits): 00015 theDetLayer(dl),theHits(theInputHits){} 00016 00017 LayerWithHits( const DetLayer *dl,const SiPixelRecHitCollection::range range); 00018 LayerWithHits( const DetLayer *dl,const SiStripRecHit2DCollection::range range); 00019 LayerWithHits( const DetLayer *dl,const SiStripMatchedRecHit2DCollection::range range); 00020 00021 //destructor 00022 ~LayerWithHits(){} 00023 00025 const std::vector<const TrackingRecHit*>& recHits() const {return theHits;} 00026 00027 //detlayer 00028 const DetLayer* layer() const {return theDetLayer;} 00029 00030 private: 00031 const DetLayer* theDetLayer; 00032 std::vector<const TrackingRecHit*> theHits; 00033 }; 00034 #endif 00035