5 #ifndef GeneratorInterface_Herwig7Interface_Herwig7Interface_h 6 #define GeneratorInterface_Herwig7Interface_Herwig7Interface_h 11 #include <HepMC/GenEvent.h> 12 #include <HepMC/PdfInfo.h> 13 #include <HepMC/IO_BaseClass.h> 15 #include <ThePEG/Repository/EventGenerator.h> 16 #include <ThePEG/EventRecord/Event.h> 17 #include <ThePEG/Vectors/HepMCTraits.h> 27 struct HepMCTraits<
HepMC::GenEvent> :
public HepMCTraitsBase<HepMC::GenEvent,
38 class HepRandomEngine;
55 static std::unique_ptr<HepMC::GenEvent>
convert(
const ThePEG::EventPtr &
event);
57 static double pthat(
const ThePEG::EventPtr &
event);
59 std::unique_ptr<HepMC::IO_BaseClass>
iobc_;
62 std::shared_ptr<Herwig::HerwigUIProvider>
HwUI_;
86 #endif // GeneratorInterface_Herwig7Interface_Herwig7Interface_h static double pthat(const ThePEG::EventPtr &event)
void initRepository(const edm::ParameterSet ¶ms)
void callHerwigGenerator()
void createInputFile(const edm::ParameterSet ¶ms)
std::shared_ptr< Herwig::HerwigUIProvider > HwUI_
void setPEGRandomEngine(CLHEP::HepRandomEngine *)
CLHEP::HepRandomEngine * randomEngine
const std::string dataLocation_
std::unique_ptr< HepMC::IO_BaseClass > iobc_
~Herwig7Interface() noexcept
std::shared_ptr< ThePEG::RandomEngineGlue::Proxy > randomEngineGlueProxy_
static std::unique_ptr< HepMC::GenEvent > convert(const ThePEG::EventPtr &event)
Herwig7Interface(const edm::ParameterSet ¶ms)
const std::string generator_
const unsigned int skipEvents_
void flushRandomNumberGenerator()