Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:01

0001 #ifndef IOMC_Input_MCFileSource_h
0002 #define IOMC_Input_MCFileSource_h
0003 
0004 /** \class MCFileSource
0005  *
0006  * Reads in HepMC events
0007  * Joanna Weng & Filip Moortgat 08/2005 
0008  ***************************************/
0009 
0010 #include "FWCore/Sources/interface/ProducerSourceFromFiles.h"
0011 #include "FWCore/Utilities/interface/propagate_const.h"
0012 
0013 class HepMCFileReader;
0014 
0015 namespace HepMC {
0016   class GenEvent;
0017 }
0018 
0019 namespace edm {
0020   class Event;
0021   class EventID;
0022   struct InputSourceDescription;
0023   class ParameterSet;
0024   class Timestamp;
0025 
0026   class MCFileSource : public ProducerSourceFromFiles {
0027   public:
0028     MCFileSource(const ParameterSet& pset, const InputSourceDescription& desc);
0029     ~MCFileSource() override;
0030 
0031   private:
0032     bool setRunAndEventInfo(EventID&, TimeValue_t& time, EventAuxiliary::ExperimentType& eType) override;
0033     void produce(Event& e) override;
0034     void clear();
0035 
0036     edm::propagate_const<HepMCFileReader*> reader_;
0037     edm::propagate_const<HepMC::GenEvent*> evt_;
0038     bool useExtendedAscii_;
0039   };
0040 }  // namespace edm
0041 
0042 #endif