00001 #ifndef Geometry_TrackerNumberingBuilder_TrackerGeometricDetESModule_H 00002 #define Geometry_TrackerNumberingBuilder_TrackerGeometricDetESModule_H 00003 00004 #include "FWCore/Framework/interface/ESProducer.h" 00005 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00006 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00007 #include "Geometry/Records/interface/IdealGeometryRecord.h" 00008 #include "Geometry/Records/interface/PGeometricDetRcd.h" 00009 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" 00010 00011 class TrackerGeometricDetESModule: public edm::ESProducer, 00012 public edm::EventSetupRecordIntervalFinder { 00013 public: 00014 TrackerGeometricDetESModule(const edm::ParameterSet & p); 00015 virtual ~TrackerGeometricDetESModule(); 00016 std::auto_ptr<GeometricDet> produceFromDDDXML(const IdealGeometryRecord &); 00017 std::auto_ptr<GeometricDet> produceFromPGeometricDet(const PGeometricDetRcd &); 00018 00019 protected: 00020 //overriding from ContextRecordIntervalFinder 00021 virtual void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&, 00022 const edm::IOVSyncValue& , 00023 edm::ValidityInterval& ) ; 00024 00025 private: 00026 bool fromDDD_; 00027 00028 }; 00029 00030 00031 #endif 00032 00033 00034 00035