File indexing completed on 2024-04-06 12:19:01
0001 #ifndef IOMC_Input_MCFileSource_h
0002 #define IOMC_Input_MCFileSource_h
0003
0004
0005
0006
0007
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 }
0041
0042 #endif