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::auto_ptr<HepMC::GenEvent>
convert(
const ThePEG::EventPtr &
event);
57 static double pthat(
const ThePEG::EventPtr &
event);
59 std::auto_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 *)
std::auto_ptr< HepMC::IO_BaseClass > iobc_
CLHEP::HepRandomEngine * randomEngine
const std::string dataLocation_
~Herwig7Interface() noexcept
std::shared_ptr< ThePEG::RandomEngineGlue::Proxy > randomEngineGlueProxy_
static std::auto_ptr< HepMC::GenEvent > convert(const ThePEG::EventPtr &event)
Herwig7Interface(const edm::ParameterSet ¶ms)
const std::string generator_
const unsigned int skipEvents_
void flushRandomNumberGenerator()