Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:12:37

0001 #ifndef Integration_ThingSource_h
0002 #define Integration_ThingSource_h
0003 
0004 /** \class ThingSource
0005  *
0006  * \version   1st Version Dec. 27, 2005  
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     // The following is not yet used, but will be the primary
0020     // constructor when the parameter set system is available.
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     //called internally, not by the framework
0040     void endRun(edm::Run& r);
0041     void endLuminosityBlock(edm::LuminosityBlock& lb);
0042 
0043     ThingAlgorithm alg_;
0044   };
0045 }  // namespace edmtest
0046 #endif