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
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