Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Integration_ThingExtSource_h
0002 #define Integration_ThingExtSource_h
0003 
0004 /** \class ThingExtSource
0005  *
0006  * \version   1st Version Dec. 27, 2005  
0007 
0008  *
0009  ************************************************************/
0010 
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "FWCore/Sources/interface/ProducerSourceFromFiles.h"
0013 #include "ThingAlgorithm.h"
0014 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0015 
0016 namespace edmtest {
0017   class ThingExtSource : public edm::ProducerSourceFromFiles {
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 ThingExtSource(edm::ParameterSet const& pset, edm::InputSourceDescription const& desc);
0023 
0024     ~ThingExtSource() override;
0025 
0026     bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override;
0027 
0028     void produce(edm::Event& e) override;
0029 
0030     void beginRun(edm::Run& r) override;
0031 
0032     void beginLuminosityBlock(edm::LuminosityBlock& lb) override;
0033 
0034     static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0035 
0036   private:
0037     //Not called by the framework, only used internally
0038     void endRun(edm::Run& r);
0039     void endLuminosityBlock(edm::LuminosityBlock& lb);
0040 
0041     ThingAlgorithm alg_;
0042   };
0043 }  // namespace edmtest
0044 #endif