CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHitBuilder.h

Go to the documentation of this file.
00001 #ifndef RecoMuon_MuonTransientTrackingRecHit_MuonTransientTrackingRecHitBuilder_h
00002 #define RecoMuon_MuonTransientTrackingRecHit_MuonTransientTrackingRecHitBuilder_h
00003 
00004 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00005 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h"
00006 
00007 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
00008 
00009 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
00010 #include "FWCore/Framework/interface/ESHandle.h"
00011 
00012 class MuonTransientTrackingRecHitBuilder: public TransientTrackingRecHitBuilder {
00013   
00014  public:
00015   
00016   typedef TransientTrackingRecHit::RecHitPointer RecHitPointer;
00017   typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;   
00018 
00019   MuonTransientTrackingRecHitBuilder(edm::ESHandle<GlobalTrackingGeometry> trackingGeometry = 0);
00020 
00021   virtual ~MuonTransientTrackingRecHitBuilder() {} ;
00022 
00024   RecHitPointer build(const TrackingRecHit *p, 
00025                       edm::ESHandle<GlobalTrackingGeometry> trackingGeometry) const ;
00026   
00027   RecHitPointer build(const TrackingRecHit * p) const;
00028   
00029   ConstRecHitContainer build(const trackingRecHit_iterator start, const trackingRecHit_iterator stop) const;
00030   
00031  private:
00032   edm::ESHandle<GlobalTrackingGeometry> theTrackingGeometry;
00033 
00034 };
00035 
00036 #endif