00001 #ifndef FastSimulation_TrackingRecHitProducer_TrackingRecHitTranslator_h 00002 #define FastSimulation_TrackingRecHitProducer_TrackingRecHitTranslator_h 00003 00004 //--------------------------------------------------------------------------- 00010 //--------------------------------------------------------------------------- 00011 00012 // Framework 00013 #include "FWCore/Framework/interface/EDProducer.h" 00014 #include "FWCore/Utilities/interface/InputTag.h" 00015 00016 // Data Formats 00017 #include "DataFormats/TrackerRecHit2D/interface/SiTrackerGSRecHit2DCollection.h" 00018 00019 class TrackerGeometry; 00020 class DetId; 00021 00022 namespace edm { 00023 class ParameterSet; 00024 class Event; 00025 class EventSetup; 00026 } 00027 00028 class TrackingRecHitTranslator : public edm::EDProducer 00029 { 00030 public: 00031 //--- Constructor, virtual destructor (just in case) 00032 explicit TrackingRecHitTranslator(const edm::ParameterSet& conf); 00033 virtual ~TrackingRecHitTranslator(); 00034 00035 //--- The top-level event method. 00036 virtual void produce(edm::Event& e, const edm::EventSetup& c) override; 00037 00038 virtual void beginRun(edm::Run const& run, const edm::EventSetup & es) override; 00039 00040 private: 00041 00042 void loadRecHits( 00043 std::map<DetId,edm::OwnVector<SiTrackerGSRecHit2D> >& theRecHits, 00044 SiTrackerFullGSRecHit2DCollection& theRecHitCollection) const; 00045 00046 // 00047 const TrackerGeometry* geometry; 00048 // 00049 edm::InputTag hitCollectionInputTag_; 00050 }; 00051 00052 #endif