#ifndef SHERPA_Tools_Output_HepMC3_Genevent_H #define SHERPA_Tools_Output_HepMC3_Genevent_H #include "ATOOLS/Org/CXXFLAGS_PACKAGES.H" #include "SHERPA/Tools/Output_Base.H" #include "SHERPA/Tools/HepMC3_Interface.H" #include #include namespace HepMC3 { class GenEvent; class GenVertex; class GenParticle; class GenCrossSection; class Writer; class WriterAscii; class WriterAsciiHepMC2; class WriterHEPEVT; #ifdef USING__HEPMC3__WRITERROOTTREE class WriterRootTree; #endif #ifdef USING__HEPMC3__WRITERROOT class WriterRoot; #endif } namespace HepMC = HepMC3; namespace SHERPA { class Output_HepMC3_Genevent : public Output_Base { HepMC3_Interface m_hepmc3; HepMC::Writer *p_writer=0; std::shared_ptr p_xs; std::shared_ptr m_run_info; std::string m_basename; int m_iotype; public: Output_HepMC3_Genevent(const Output_Arguments &args); ~Output_HepMC3_Genevent(); void SetXS(const double& xs, const double& xserr); void Output(ATOOLS::Blob_List* blobs); //void Output(ATOOLS::Blob_List* blobs){ Output(blobs, 1.0);} void ChangeFile(); }; } #endif