00001 #ifndef IOMC_Input_MCFileSource_h 00002 #define IOMC_Input_MCFileSource_h 00003 00010 #include "FWCore/Sources/interface/ExternalInputSource.h" 00011 00012 class HepMCFileReader; 00013 00014 namespace HepMC{ 00015 class GenEvent; 00016 } 00017 00018 namespace edm { 00019 class Event; 00020 struct InputSourceDescription; 00021 class ParameterSet; 00022 00023 class MCFileSource : public ExternalInputSource { 00024 public: 00025 MCFileSource(const ParameterSet& pset, const InputSourceDescription& desc); 00026 virtual ~MCFileSource(); 00027 00028 private: 00029 virtual bool produce(Event &e); 00030 void clear(); 00031 00032 HepMCFileReader *reader_; 00033 HepMC::GenEvent *evt_; 00034 bool useExtendedAscii_; 00035 }; 00036 } 00037 00038 #endif