HepMC3 event record library
Public Member Functions | Data Fields | Protected Attributes | Private Member Functions | Private Attributes
WriterRootTree Class Reference

Detailed Description

GenEvent I/O serialization for root files based on root TTree.

If HepMC was compiled with path to ROOT available, this class can be used for root writing in the same manner as with HepMC::WriterAscii class.

Definition at line 40 of file WriterRootTree.h.

#include <WriterRootTree.h>

+ Inheritance diagram for WriterRootTree:
+ Collaboration diagram for WriterRootTree:

Public Member Functions

 WriterRootTree (const std::string &filename, std::shared_ptr< GenRunInfo > run=std::shared_ptr< GenRunInfo >())
 Default constructor.
 
 WriterRootTree (const std::string &filename, const std::string &treename, const std::string &branchname, std::shared_ptr< GenRunInfo > run=std::shared_ptr< GenRunInfo >())
 Constructor with tree name.
 
void write_event (const GenEvent &evt) override
 Write event to file.
 
void write_run_info ()
 Write the GenRunInfo object to file.
 
void close () override
 Close file stream.
 
bool failed () override
 Get stream error state flag.
 
void set_run_info (std::shared_ptr< GenRunInfo > run)
 Set the global GenRunInfo object.
 
std::shared_ptr< GenRunInforun_info () const
 Get the global GenRunInfo object.
 
void set_options (const std::map< std::string, std::string > &options)
 Set options.
 
std::map< std::string, std::string > get_options () const
 Set options.
 

Data Fields

TTree * m_tree
 Tree handler. Public to allow simple access, e.g. custom branches.
 

Protected Attributes

std::map< std::string, std::string > m_options
 options
 

Private Member Functions

bool init (std::shared_ptr< GenRunInfo > run)
 init routine
 

Private Attributes

TFile * m_file
 File handler.
 
int m_events_count
 Events count. Needed to read the tree.
 
GenEventDatam_event_data
 Pointer to structure that holds event data.
 
GenRunInfoDatam_run_info_data
 Pointer to structure that holds run info data.
 
std::string m_tree_name
 Name of TTree.
 
std::string m_branch_name
 Name of TBranch in TTree.
 
std::shared_ptr< GenRunInfom_run_info
 The global GenRunInfo object.
 

Constructor & Destructor Documentation

◆ WriterRootTree() [1/2]

WriterRootTree ( const std::string &  filename,
std::shared_ptr< GenRunInfo run = std::shared_ptr<GenRunInfo>() 
)

Default constructor.

Warning
If file exists, it will be overwritten

Definition at line 22 of file WriterRootTree.cc.

◆ WriterRootTree() [2/2]

WriterRootTree ( const std::string &  filename,
const std::string &  treename,
const std::string &  branchname,
std::shared_ptr< GenRunInfo run = std::shared_ptr<GenRunInfo>() 
)

Constructor with tree name.

Definition at line 32 of file WriterRootTree.cc.

References WriterRootTree::init(), and WriterRootTree::m_file.

Member Function Documentation

◆ close()

void close ( )
overridevirtual

Close file stream.

Implements Writer.

Definition at line 93 of file WriterRootTree.cc.

References WriterRootTree::m_event_data, WriterRootTree::m_file, WriterRootTree::m_run_info_data, and WriterRootTree::m_tree.

◆ failed()

bool failed ( )
overridevirtual

Get stream error state flag.

Implements Writer.

Definition at line 101 of file WriterRootTree.cc.

References WriterRootTree::m_file.

◆ get_options()

std::map< std::string, std::string > get_options ( ) const
inlineinherited

Set options.

Definition at line 61 of file Writer.h.

References Writer::m_options.

◆ init()

bool init ( std::shared_ptr< GenRunInfo run)
private

◆ run_info()

std::shared_ptr< GenRunInfo > run_info ( ) const
inlineinherited

Get the global GenRunInfo object.

Definition at line 47 of file Writer.h.

References Writer::m_run_info.

◆ set_options()

void set_options ( const std::map< std::string, std::string > &  options)
inlineinherited

Set options.

Definition at line 56 of file Writer.h.

References Writer::m_options.

◆ set_run_info()

void set_run_info ( std::shared_ptr< GenRunInfo run)
inlineinherited

Set the global GenRunInfo object.

Definition at line 42 of file Writer.h.

References Writer::m_run_info.

◆ write_event()

void write_event ( const GenEvent evt)
overridevirtual

◆ write_run_info()

void write_run_info ( )

Write the GenRunInfo object to file.

Definition at line 91 of file WriterRootTree.cc.

Field Documentation

◆ m_branch_name

std::string m_branch_name
private

Name of TBranch in TTree.

Definition at line 88 of file WriterRootTree.h.

◆ m_event_data

GenEventData* m_event_data
private

Pointer to structure that holds event data.

Definition at line 85 of file WriterRootTree.h.

◆ m_events_count

int m_events_count
private

Events count. Needed to read the tree.

Definition at line 84 of file WriterRootTree.h.

◆ m_file

TFile* m_file
private

File handler.

Definition at line 80 of file WriterRootTree.h.

◆ m_options

std::map<std::string, std::string> m_options
protectedinherited

options

Definition at line 68 of file Writer.h.

◆ m_run_info

std::shared_ptr<GenRunInfo> m_run_info
privateinherited

The global GenRunInfo object.

Definition at line 73 of file Writer.h.

◆ m_run_info_data

GenRunInfoData* m_run_info_data
private

Pointer to structure that holds run info data.

Definition at line 86 of file WriterRootTree.h.

◆ m_tree

TTree* m_tree

Tree handler. Public to allow simple access, e.g. custom branches.

Definition at line 82 of file WriterRootTree.h.

◆ m_tree_name

std::string m_tree_name
private

Name of TTree.

Definition at line 87 of file WriterRootTree.h.


The documentation for this class was generated from the following files: