13#include "HepMC3/Version.h"
19HEPMC3_DECLARE_WRITER_FILE(WriterRoot)
25 m_file = TFile::Open(filename.c_str(),
"RECREATE");
26 if ( !m_file->IsOpen() ) {
27 HEPMC3_ERROR(
"WriterRoot: problem opening file: " << filename)
31 if ( run_info() ) write_run_info();
35 if ( !
m_file->IsOpen() )
return;
43 "different GenRunInfo objects from - only the "
44 "first such object will be serialized.")
53 int nbytes =
m_file->WriteObject(&data, buf);
67 int nbytes =
m_file->WriteObject(&data,
"GenRunInfoData");
80 if ( !
m_file->IsOpen() )
return true;
#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.
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.
std::shared_ptr< GenRunInfo > run_info() const
Get the global GenRunInfo object.
void set_run_info(std::shared_ptr< GenRunInfo > run)
Set the global GenRunInfo object.
Stores serializable event information.
Stores serializable run information.