14#include "HepMC3/Version.h"
26 m_file = TFile::Open(filename.c_str(),
"RECREATE");
28 HEPMC3_ERROR(
"WriterRoot: problem opening file: " << filename)
36 if ( !
m_file->IsOpen() )
return;
44 "different GenRunInfo objects from - only the "
45 "first such object will be serialized.")
52 std::array<char,16> buf;
55 int nbytes =
m_file->WriteObject(&data, buf.data());
69 int nbytes =
m_file->WriteObject(&data,
"GenRunInfoData");
#define HEPMC3_WARNING(MESSAGE)
Macro for printing HEPMC3_HEPMC3_WARNING messages.
#define HEPMC3_ERROR(MESSAGE)
Macro for printing error messages.
Definition of class WriterRoot.
Stores event-related information.
void write_data(GenEventData &data) const
Fill GenEventData object.
std::shared_ptr< GenRunInfo > run_info() const
Get a pointer to the the GenRunInfo object.
Stores run-related information.
GenEvent I/O serialization for root files.
bool failed() override
Get stream error state flag.
WriterRoot(const std::string &filename, std::shared_ptr< GenRunInfo > run=std::shared_ptr< GenRunInfo >())
Default constructor.
int m_events_count
Events count. Needed to generate unique object name.
void close() override
Close file stream.
TFile * m_file
File handler.
void write_event(const GenEvent &evt) override
Write event to file.
void write_run_info()
Write the GenRunInfo object to file.
virtual void set_run_info(std::shared_ptr< GenRunInfo > run)
Set the global GenRunInfo object.
virtual std::shared_ptr< GenRunInfo > run_info() const
Get the global GenRunInfo object.
Stores serializable event information.
Stores serializable run information.