11 #ifndef SRC_INCLUDE_SMASH_HEPMCOUTPUT_H_
12 #define SRC_INCLUDE_SMASH_HEPMCOUTPUT_H_
19 #include "HepMC3/Writer.h"
48 HepMcOutput(
const std::filesystem::path &path, std::string name,
49 const bool full_event, std::string HepMC3_output_type);
Base class for output handlers that need the HepMC3 structure.
SMASH output to HepMC file.
enum smash::HepMcOutput::enum_output type_of_HepMC3_output
enum to identify the HepMC3 output type
const std::filesystem::path filename_
Filename of output.
HepMcOutput(const std::filesystem::path &path, std::string name, const bool full_event, std::string HepMC3_output_type)
Create HepMC particle output.
enum_output
enum to identify the HepMC3 output type
void at_eventend(const Particles &particles, const EventLabel &event_label, const EventInfo &event) override
Add the final particles information of an event to the central vertex.
~HepMcOutput()
Destructor renames file.
std::filesystem::path filename_unfinished_
Filename of output as long as simulation is still running.
type_of_HepMC3_output output_type_
HepMC3 output type.
std::unique_ptr< HepMC3::Writer > output_file_
Pointers to the base class of HepMC3 output files.
The Particles class abstracts the storage and manipulation of particles.
Structure to contain custom data for output.
Structure to contain information about the event and ensemble numbers.