00001 #ifndef FWCore_Services_PrintEventSetupDataRetrieval_h 00002 #define FWCore_Services_PrintEventSetupDataRetrieval_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Services 00006 // Class : PrintEventSetupDataRetrieval 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Thu Jul 9 14:43:09 CDT 2009 00019 // 00020 00021 // system include files 00022 #include <map> 00023 00024 // user include files 00025 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00026 #include "FWCore/ServiceRegistry/interface/ActivityRegistry.h" 00027 00028 #include "FWCore/Framework/interface/EventSetupRecordKey.h" 00029 #include "FWCore/Framework/interface/DataKey.h" 00030 00031 // forward declarations 00032 namespace edm { 00033 class ConfigurationDescriptions; 00034 00035 class PrintEventSetupDataRetrieval { 00036 00037 public: 00038 PrintEventSetupDataRetrieval(const ParameterSet&,ActivityRegistry&); 00039 00040 // ---------- const member functions --------------------- 00041 00042 // ---------- static member functions -------------------- 00043 static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); 00044 00045 // ---------- member functions --------------------------- 00046 void postProcessEvent(Event const&, EventSetup const&); 00047 void postBeginLumi(LuminosityBlock const&, EventSetup const&); 00048 void postBeginRun(Run const&, EventSetup const&); 00049 00050 private: 00051 PrintEventSetupDataRetrieval(const PrintEventSetupDataRetrieval&); // stop default 00052 00053 const PrintEventSetupDataRetrieval& operator=(const PrintEventSetupDataRetrieval&); // stop default 00054 00055 void check(EventSetup const&); 00056 // ---------- member data -------------------------------- 00057 typedef std::map<eventsetup::EventSetupRecordKey, std::pair<unsigned long long, std::map<eventsetup::DataKey,bool> > > RetrievedDataMap; 00058 RetrievedDataMap m_retrievedDataMap; 00059 std::vector<eventsetup::EventSetupRecordKey> m_recordKeys; 00060 bool m_printProviders; 00061 }; 00062 00063 } 00064 00065 #endif