Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:48

0001 #ifndef RecoMuon_MuonTransientTrackingRecHit_MuonTransientTrackingRecHitBuilder_h
0002 #define RecoMuon_MuonTransientTrackingRecHit_MuonTransientTrackingRecHitBuilder_h
0003 
0004 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
0005 #include "DataFormats/TrackingRecHit/interface/TrackingRecHitFwd.h"
0006 
0007 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h"
0008 
0009 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
0010 #include "FWCore/Framework/interface/ESHandle.h"
0011 
0012 class MuonTransientTrackingRecHitBuilder : public TransientTrackingRecHitBuilder {
0013 public:
0014   typedef TransientTrackingRecHit::RecHitPointer RecHitPointer;
0015   typedef TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer;
0016 
0017   MuonTransientTrackingRecHitBuilder(edm::ESHandle<GlobalTrackingGeometry> trackingGeometry = nullptr);
0018 
0019   ~MuonTransientTrackingRecHitBuilder() override {}
0020 
0021   using TransientTrackingRecHitBuilder::build;
0022   /// Call the MuonTransientTrackingRecHit::specificBuild
0023   RecHitPointer build(const TrackingRecHit* p, edm::ESHandle<GlobalTrackingGeometry> trackingGeometry) const;
0024 
0025   RecHitPointer build(const TrackingRecHit* p) const override;
0026 
0027   ConstRecHitContainer build(const trackingRecHit_iterator& start, const trackingRecHit_iterator& stop) const;
0028 
0029 private:
0030   edm::ESHandle<GlobalTrackingGeometry> theTrackingGeometry;
0031 };
0032 
0033 #endif