12 #include "HepMC3/Print.h" 
   13 #include "HepMC3/WriterAscii.h" 
   15 #ifdef SMASH_USE_HEPMC_ROOTIO 
   16 #include "HepMC3/WriterRootTree.h" 
  161                          const bool full_event, std::string HepMC3_output_type)
 
  163       filename_(path / (name + 
"." + HepMC3_output_type)) {
 
  166 #ifdef SMASH_USE_HEPMC_ROOTIO 
  167   if (HepMC3_output_type == 
"asciiv3") {
 
  172 #ifdef SMASH_USE_HEPMC_ROOTIO 
  188                               const int32_t event_number,
 
  191   logg[
LOutput].debug() << 
"Writing event " << event_number << 
" with " 
  192                         << 
event_.particles().size() << 
" particles and " 
  193                         << 
event_.vertices().size() << 
" vertices to output " 
Base class for output handlers that need the HepMC3 structure.
 
void at_eventend(const Particles &particles, const int32_t event_number, const EventInfo &event) override
Add the final particles information of an event to the central vertex.
 
HepMC3::GenEvent event_
The event.
 
void at_eventend(const Particles &particles, const int32_t event_number, const EventInfo &event) override
Add the final particles information of an event to the central vertex.
 
const bf::path filename_
Filename of output.
 
bf::path filename_unfinished_
Filename of output as long as simulation is still running.
 
~HepMcOutput()
Destructor renames file.
 
HepMcOutput(const bf::path &path, std::string name, const bool full_event, std::string HepMC3_output_type)
Create HepMC particle output.
 
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.
 
std::array< einhard::Logger<>, std::tuple_size< LogArea::AreaTuple >::value > logg
An array that stores all pre-configured Logger objects.
 
static constexpr int LOutput
 
Structure to contain custom data for output.