File indexing completed on 2024-04-06 12:12:37
0001 #ifndef Integration_ThingSource_h
0002 #define Integration_ThingSource_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "ThingAlgorithm.h"
0013 #include "FWCore/Sources/interface/ProducerSourceBase.h"
0014 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0015
0016 namespace edmtest {
0017 class ThingSource : public edm::ProducerSourceBase {
0018 public:
0019
0020
0021
0022 explicit ThingSource(edm::ParameterSet const& pset, edm::InputSourceDescription const& desc);
0023
0024 ~ThingSource() override;
0025
0026 bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override {
0027 return true;
0028 }
0029
0030 void produce(edm::Event& e) override;
0031
0032 void beginRun(edm::Run& r) override;
0033
0034 void beginLuminosityBlock(edm::LuminosityBlock& lb) override;
0035
0036 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0037
0038 private:
0039
0040 void endRun(edm::Run& r);
0041 void endLuminosityBlock(edm::LuminosityBlock& lb);
0042
0043 ThingAlgorithm alg_;
0044 };
0045 }
0046 #endif