HepMC3 event record library
Public Member Functions
GenEvent Class Reference

Detailed Description

Stores event-related information.

Manages event-related information. Contains lists of GenParticle and GenVertex objects

Examples
HepMC2_reader_example.cc, HepMC3_fileIO_example.cc, LHEF_example_cat.cc, basic_tree.cc, class_example_write.cc, convert_example.cc, pythia8_example.cc, rootIO_example_read.cc, and rootIO_example_write.cc.

Definition at line 41 of file GenEvent.h.

#include <GenEvent.h>

+ Collaboration diagram for GenEvent:

Public Member Functions

 GenEvent (Units::MomentumUnit momentum_unit=Units::GEV, Units::LengthUnit length_unit=Units::MM)
 Event constructor without a run.
 
 GenEvent (std::shared_ptr< GenRunInfo > run, Units::MomentumUnit momentum_unit=Units::GEV, Units::LengthUnit length_unit=Units::MM)
 Constructor with associated run.
 
 GenEvent (const GenEvent &)
 Copy constructor.
 
 ~GenEvent ()
 Destructor.
 
GenEventoperator= (const GenEvent &)
 Assignment operator.
 
Particle and vertex access
const std::vector< ConstGenParticlePtr > & particles () const
 Get list of particles (const)
 
const std::vector< ConstGenVertexPtr > & vertices () const
 Get list of vertices (const)
 
const std::vector< GenParticlePtr > & particles ()
 Get/set list of particles (non-const)
 
const std::vector< GenVertexPtr > & vertices ()
 Get/set list of vertices (non-const)
 
int particles_size () const
 Particles size, HepMC2 compatiility.
 
bool particles_empty () const
 Particles empty, HepMC2 compatiility.
 
int vertices_size () const
 Vertices size, HepMC2 compatiility.
 
bool vertices_empty () const
 Vertices empty, HepMC2 compatiility.
 
Event weights
const std::vector< double > & weights () const
 Get event weight values as a vector.
 
std::vector< double > & weights ()
 Get event weights as a vector (non-const)
 
double weight (const unsigned long &index=0) const
 
double weight (const std::string &name) const
 
double & weight (const std::string &name)
 
const std::vector< std::string > & weight_names () const
 
Auxiliary info and event metadata
std::shared_ptr< GenRunInforun_info () const
 Get a pointer to the the GenRunInfo object.
 
void set_run_info (std::shared_ptr< GenRunInfo > run)
 Set the GenRunInfo object by smart pointer.
 
int event_number () const
 Get event number.
 
void set_event_number (const int &num)
 Set event number.
 
const Units::MomentumUnitmomentum_unit () const
 Get momentum unit.
 
const Units::LengthUnitlength_unit () const
 Get length unit.
 
void set_units (Units::MomentumUnit new_momentum_unit, Units::LengthUnit new_length_unit)
 Change event units Converts event from current units to new ones.
 
GenHeavyIonPtr heavy_ion ()
 Get heavy ion generator additional information.
 
ConstGenHeavyIonPtr heavy_ion () const
 Get heavy ion generator additional information (const version)
 
void set_heavy_ion (GenHeavyIonPtr hi)
 Set heavy ion generator additional information.
 
GenPdfInfoPtr pdf_info ()
 Get PDF information.
 
ConstGenPdfInfoPtr pdf_info () const
 Get PDF information (const version)
 
void set_pdf_info (GenPdfInfoPtr pi)
 Set PDF information.
 
GenCrossSectionPtr cross_section ()
 Get cross-section information.
 
ConstGenCrossSectionPtr cross_section () const
 Get cross-section information (const version)
 
void set_cross_section (GenCrossSectionPtr cs)
 Set cross-section information.
 
Event position
const FourVectorevent_pos () const
 Vertex representing the overall event position.
 
std::vector< ConstGenParticlePtr > beams () const
 Vector of beam particles.
 
const std::vector< GenParticlePtr > & beams ()
 Vector of beam particles.
 
void shift_position_by (const FourVector &delta)
 Shift position of all vertices in the event by delta.
 
void shift_position_to (const FourVector &newpos)
 Shift position of all vertices in the event to op.
 
bool boost (const FourVector &v)
 Boost event using x,y,z components of v as velocities.
 
bool rotate (const FourVector &v)
 Rotate event using x,y,z components of v as rotation angles.
 
bool reflect (const int axis)
 Change sign of axis.
 
Additional attributes

Add event attribute to event

This will overwrite existing attribute if an attribute with the same name is present

void add_attribute (const std::string &name, const std::shared_ptr< Attribute > &att, const int &id=0)
 
void add_attributes (const std::vector< std::string > &names, const std::vector< std::shared_ptr< Attribute > > &atts, const std::vector< int > &ids)
 Add multiple attributes to event.
 
void add_attributes (const std::string &name, const std::vector< std::shared_ptr< Attribute > > &atts, const std::vector< int > &ids)
 Add multiple attributes to event.
 
void add_attributes (const std::string &name, const std::vector< std::pair< int, std::shared_ptr< Attribute > > > &atts)
 Add multiple attributes to event.
 
void remove_attribute (const std::string &name, const int &id=0)
 Remove attribute.
 
template<class T >
std::shared_ptr< T > attribute (const std::string &name, const int &id=0) const
 Get attribute of type T.
 
std::string attribute_as_string (const std::string &name, const int &id=0) const
 Get attribute of any type as string.
 
std::vector< std::string > attribute_names (const int &id=0) const
 Get list of attribute names.
 
std::map< std::string, std::map< int, std::shared_ptr< Attribute > > > attributes () const
 Get a copy of the list of attributes.
 
Particle and vertex modification
void add_particle (GenParticlePtr p)
 Add particle.
 
void add_vertex (GenVertexPtr v)
 Add vertex.
 
void remove_particle (GenParticlePtr v)
 Remove particle from the event.
 
void remove_particles (std::vector< GenParticlePtr > v)
 Remove a set of particles.
 
void remove_vertex (GenVertexPtr v)
 Remove vertex from the event.
 
void add_tree (const std::vector< GenParticlePtr > &particles)
 Add whole tree in topological order.
 
void reserve (const size_t &particles, const size_t &vertices=0)
 Reserve memory for particles and vertices.
 
void clear ()
 Remove contents of this event.
 
Deprecated functionality
void add_particle (GenParticle *p)
 Add particle by raw pointer.
 
void add_vertex (GenVertex *v)
 Add vertex by raw pointer.
 
void set_beam_particles (GenParticlePtr p1, GenParticlePtr p2)
 Set incoming beam particles.
 
void add_beam_particle (GenParticlePtr p1)
 Add particle to root vertex.
 
Methods to fill GenEventData and to read it back
void write_data (GenEventData &data) const
 Fill GenEventData object.
 
void read_data (const GenEventData &data)
 Fill GenEvent based on GenEventData.
 

Fields

typedef std::map< std::string, std::map< int, std::shared_ptr< Attribute > > >::value_type att_key_t
 Attribute map key type.
 
typedef std::map< int, std::shared_ptr< Attribute > >::value_type att_val_t
 Attribute map value type.
 
std::vector< GenParticlePtr > m_particles
 List of particles.
 
std::vector< GenVertexPtr > m_vertices
 List of vertices.
 
int m_event_number
 Event number.
 
std::vector< double > m_weights
 Event weights.
 
Units::MomentumUnit m_momentum_unit
 Momentum unit.
 
Units::LengthUnit m_length_unit
 Length unit.
 
GenVertexPtr m_rootvertex
 The root vertex is stored outside the normal vertices list to block user access to it.
 
std::shared_ptr< GenRunInfom_run_info
 Global run information.
 
std::map< std::string, std::map< int, std::shared_ptr< Attribute > > > m_attributes
 Map of event, particle and vertex attributes.
 
std::recursive_mutex m_lock_attributes
 Mutex lock for the m_attibutes map.
 

Member Typedef Documentation

◆ att_key_t

typedef std::map<std::string,std::map<int,std::shared_ptr<Attribute>>>::value_type att_key_t
private

Attribute map key type.

Definition at line 391 of file GenEvent.h.

◆ att_val_t

typedef std::map<int,std::shared_ptr<Attribute>>::value_type att_val_t
private

Attribute map value type.

Definition at line 394 of file GenEvent.h.

Constructor & Destructor Documentation

◆ GenEvent() [1/3]

GenEvent ( Units::MomentumUnit  momentum_unit = Units::GEV,
Units::LengthUnit  length_unit = Units::MM 
)

Event constructor without a run.

Definition at line 21 of file GenEvent.cc.

◆ GenEvent() [2/3]

GenEvent ( std::shared_ptr< GenRunInfo run,
Units::MomentumUnit  momentum_unit = Units::GEV,
Units::LengthUnit  length_unit = Units::MM 
)

Constructor with associated run.

Definition at line 28 of file GenEvent.cc.

References GenEvent::m_weights.

◆ GenEvent() [3/3]

GenEvent ( const GenEvent e)

Copy constructor.

Definition at line 62 of file GenEvent.cc.

References GenEvent::m_lock_attributes, GenEvent::read_data(), and GenEvent::write_data().

◆ ~GenEvent()

~GenEvent ( )

Destructor.

Definition at line 74 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_particles, and GenEvent::m_vertices.

Member Function Documentation

◆ add_attribute()

void add_attribute ( const std::string &  name,
const std::shared_ptr< Attribute > &  att,
const int &  id = 0 
)

Disallow empty strings

Examples
LHEF_example_cat.cc, and basic_tree.cc.

Definition at line 806 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::particles(), and GenEvent::vertices().

◆ add_attributes() [1/3]

void add_attributes ( const std::string &  name,
const std::vector< std::pair< int, std::shared_ptr< Attribute > > > &  atts 
)

Add multiple attributes to event.

This will overwrite existing attributes if attributes with the same names are present

Disallow empty strings

Definition at line 876 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_particles, GenEvent::m_vertices, GenEvent::particles_size(), and GenEvent::vertices_size().

◆ add_attributes() [2/3]

void add_attributes ( const std::string &  name,
const std::vector< std::shared_ptr< Attribute > > &  atts,
const std::vector< int > &  ids 
)

Add multiple attributes to event.

This will overwrite existing attributes if attributes with the same names are present

Disallow empty strings

Definition at line 852 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_particles, GenEvent::m_vertices, GenEvent::particles_size(), and GenEvent::vertices_size().

◆ add_attributes() [3/3]

void add_attributes ( const std::vector< std::string > &  names,
const std::vector< std::shared_ptr< Attribute > > &  atts,
const std::vector< int > &  ids 
)

Add multiple attributes to event.

This will overwrite existing attributes if attributes with the same names are present

Disallow empty strings

Definition at line 821 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_particles, GenEvent::m_vertices, GenEvent::particles_size(), and GenEvent::vertices_size().

◆ add_beam_particle()

void add_beam_particle ( GenParticlePtr  p1)

Add particle to root vertex.

Definition at line 765 of file GenEvent.cc.

References GenEvent::add_particle(), and HEPMC3_WARNING.

◆ add_particle() [1/2]

void add_particle ( GenParticle p)

Add particle by raw pointer.

Deprecated:
Use GenEvent::add_particle( const GenParticlePtr& ) instead

Definition at line 750 of file GenEvent.cc.

References GenEvent::add_particle().

◆ add_particle() [2/2]

void add_particle ( GenParticlePtr  p)

Add particle.

Definition at line 48 of file GenEvent.cc.

References GenEvent::m_particles, GenEvent::m_rootvertex, and GenEvent::particles().

◆ add_tree()

void add_tree ( const std::vector< GenParticlePtr > &  particles)

Add whole tree in topological order.

This function will find the beam particles (particles that have no production vertices or their production vertices have no particles) and will add the whole decay tree starting from these particles.

Note
Any particles on this list that do not belong to the tree will be ignored.

Definition at line 265 of file GenEvent.cc.

References GenEvent::add_attribute(), GenEvent::add_vertex(), HEPMC3_DEBUG, HEPMC3_DEBUG_CODE_BLOCK, HEPMC3_WARNING, GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_rootvertex, GenEvent::m_vertices, GenEvent::particles(), and HepMC3::visit_children().

◆ add_vertex() [1/2]

void add_vertex ( GenVertex v)

Add vertex by raw pointer.

Deprecated:
Use GenEvent::add_vertex( const GenVertexPtr& ) instead

Definition at line 755 of file GenEvent.cc.

References GenEvent::add_vertex().

◆ add_vertex() [2/2]

void add_vertex ( GenVertexPtr  v)

Add vertex.

Examples
LHEF_example_cat.cc, and basic_tree.cc.

Definition at line 96 of file GenEvent.cc.

References GenEvent::add_particle(), GenEvent::m_vertices, and GenEvent::vertices().

◆ attribute()

std::shared_ptr< T > attribute ( const std::string &  name,
const int &  id = 0 
) const

◆ attribute_as_string()

std::string attribute_as_string ( const std::string &  name,
const int &  id = 0 
) const

Get attribute of any type as string.

Definition at line 784 of file GenEvent.cc.

References GenEvent::m_attributes, GenEvent::m_lock_attributes, and GenEvent::run_info().

◆ attribute_names()

std::vector< std::string > attribute_names ( const int &  id = 0) const

Get list of attribute names.

Definition at line 621 of file GenEvent.cc.

References GenEvent::m_attributes.

◆ attributes()

std::map< std::string, std::map< int, std::shared_ptr< Attribute > > > attributes ( ) const
inline

Get a copy of the list of attributes.

Note
To avoid thread issues, this is returns a copy. Better solution may be needed.

Definition at line 257 of file GenEvent.h.

References GenEvent::m_attributes, and GenEvent::m_lock_attributes.

◆ beams() [1/2]

const std::vector< GenParticlePtr > & beams ( )

Vector of beam particles.

Definition at line 420 of file GenEvent.cc.

References GenEvent::m_rootvertex.

◆ beams() [2/2]

std::vector< ConstGenParticlePtr > beams ( ) const

Vector of beam particles.

Examples
basic_tree.cc.

Definition at line 416 of file GenEvent.cc.

References GenEvent::m_rootvertex.

◆ boost()

bool boost ( const FourVector v)

Boost event using x,y,z components of v as velocities.

Definition at line 553 of file GenEvent.cc.

References FourVector::e(), HEPMC3_WARNING, FourVector::length2(), GenEvent::m_particles, FourVector::x(), FourVector::y(), and FourVector::z().

◆ clear()

void clear ( )

◆ cross_section() [1/2]

GenCrossSectionPtr cross_section ( )
inline

Get cross-section information.

Definition at line 175 of file GenEvent.h.

◆ cross_section() [2/2]

ConstGenCrossSectionPtr cross_section ( ) const
inline

Get cross-section information (const version)

Definition at line 177 of file GenEvent.h.

◆ event_number()

int event_number ( ) const
inline

Get event number.

Examples
LHEF_example_cat.cc.

Definition at line 148 of file GenEvent.h.

References GenEvent::m_event_number.

◆ event_pos()

const FourVector & event_pos ( ) const

Vertex representing the overall event position.

Definition at line 412 of file GenEvent.cc.

References GenEvent::m_rootvertex.

◆ heavy_ion() [1/2]

GenHeavyIonPtr heavy_ion ( )
inline

Get heavy ion generator additional information.

Definition at line 161 of file GenEvent.h.

◆ heavy_ion() [2/2]

ConstGenHeavyIonPtr heavy_ion ( ) const
inline

Get heavy ion generator additional information (const version)

Definition at line 163 of file GenEvent.h.

◆ length_unit()

const Units::LengthUnit & length_unit ( ) const
inline

Get length unit.

Definition at line 155 of file GenEvent.h.

References GenEvent::m_length_unit.

◆ momentum_unit()

const Units::MomentumUnit & momentum_unit ( ) const
inline

Get momentum unit.

Definition at line 153 of file GenEvent.h.

References GenEvent::m_momentum_unit.

◆ operator=()

GenEvent & operator= ( const GenEvent e)

Assignment operator.

Definition at line 82 of file GenEvent.cc.

References GenEvent::m_lock_attributes, GenEvent::read_data(), and GenEvent::write_data().

◆ particles() [1/2]

const std::vector< GenParticlePtr > & particles ( )
inline

Get/set list of particles (non-const)

Definition at line 75 of file GenEvent.h.

References GenEvent::m_particles.

◆ particles() [2/2]

const std::vector< ConstGenParticlePtr > & particles ( ) const

Get list of particles (const)

Examples
LHEF_example_cat.cc.

Definition at line 39 of file GenEvent.cc.

References GenEvent::m_particles.

◆ particles_empty()

bool particles_empty ( ) const
inline

Particles empty, HepMC2 compatiility.

Definition at line 87 of file GenEvent.h.

References GenEvent::m_particles.

◆ particles_size()

int particles_size ( ) const
inline

Particles size, HepMC2 compatiility.

Definition at line 85 of file GenEvent.h.

References GenEvent::m_particles.

◆ pdf_info() [1/2]

GenPdfInfoPtr pdf_info ( )
inline

Get PDF information.

Definition at line 168 of file GenEvent.h.

◆ pdf_info() [2/2]

ConstGenPdfInfoPtr pdf_info ( ) const
inline

Get PDF information (const version)

Definition at line 170 of file GenEvent.h.

◆ read_data()

void read_data ( const GenEventData data)

◆ reflect()

bool reflect ( const int  axis)

◆ remove_attribute()

void remove_attribute ( const std::string &  name,
const int &  id = 0 
)

Remove attribute.

Examples
basic_tree.cc.

Definition at line 609 of file GenEvent.cc.

References GenEvent::m_attributes, and GenEvent::m_lock_attributes.

◆ remove_particle()

void remove_particle ( GenParticlePtr  v)

Remove particle from the event.

This function will remove whole sub-tree starting from this particle if it is the only incoming particle of this vertex. It will also production vertex of this particle if this vertex has no more outgoing particles

Examples
basic_tree.cc.

Definition at line 116 of file GenEvent.cc.

References HEPMC3_DEBUG, GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_particles, and GenEvent::remove_vertex().

◆ remove_particles()

void remove_particles ( std::vector< GenParticlePtr >  v)

Remove a set of particles.

This function follows rules of GenEvent::remove_particle to remove a list of particles from the event.

Examples
basic_tree.cc.

Definition at line 184 of file GenEvent.cc.

References GenEvent::remove_particle().

◆ remove_vertex()

void remove_vertex ( GenVertexPtr  v)

Remove vertex from the event.

This will remove all sub-trees of all outgoing particles of this vertex

Definition at line 192 of file GenEvent.cc.

References HEPMC3_DEBUG, GenEvent::m_attributes, GenEvent::m_lock_attributes, GenEvent::m_vertices, and GenEvent::remove_particle().

◆ reserve()

void reserve ( const size_t &  particles,
const size_t &  vertices = 0 
)

Reserve memory for particles and vertices.

Helps optimize event creation when size of the event is known beforehand

Definition at line 385 of file GenEvent.cc.

References GenEvent::m_particles, and GenEvent::m_vertices.

◆ rotate()

bool rotate ( const FourVector v)

Rotate event using x,y,z components of v as rotation angles.

Definition at line 434 of file GenEvent.cc.

References FourVector::e(), GenEvent::m_particles, GenEvent::m_vertices, FourVector::t(), FourVector::x(), FourVector::y(), and FourVector::z().

◆ run_info()

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

Get a pointer to the the GenRunInfo object.

Examples
class_example_write.cc.

Definition at line 137 of file GenEvent.h.

References GenEvent::m_run_info.

◆ set_beam_particles()

void set_beam_particles ( GenParticlePtr  p1,
GenParticlePtr  p2 
)

Set incoming beam particles.

Deprecated:
Backward compatibility

Definition at line 760 of file GenEvent.cc.

References GenEvent::m_rootvertex.

◆ set_cross_section()

void set_cross_section ( GenCrossSectionPtr  cs)
inline

Set cross-section information.

Definition at line 179 of file GenEvent.h.

References GenEvent::add_attribute().

◆ set_event_number()

void set_event_number ( const int &  num)
inline

Set event number.

Examples
LHEF_example_cat.cc.

Definition at line 150 of file GenEvent.h.

References GenEvent::m_event_number.

◆ set_heavy_ion()

void set_heavy_ion ( GenHeavyIonPtr  hi)
inline

Set heavy ion generator additional information.

Definition at line 165 of file GenEvent.h.

References GenEvent::add_attribute().

◆ set_pdf_info()

void set_pdf_info ( GenPdfInfoPtr  pi)
inline

Set PDF information.

Definition at line 172 of file GenEvent.h.

References GenEvent::add_attribute().

◆ set_run_info()

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

Set the GenRunInfo object by smart pointer.

Definition at line 141 of file GenEvent.h.

References GenEvent::m_run_info, and GenEvent::m_weights.

◆ set_units()

void set_units ( Units::MomentumUnit  new_momentum_unit,
Units::LengthUnit  new_length_unit 
)

Change event units Converts event from current units to new ones.

Definition at line 391 of file GenEvent.cc.

References Units::convert(), FourVector::is_zero(), GenEvent::m_length_unit, GenEvent::m_momentum_unit, GenEvent::m_particles, and GenEvent::m_vertices.

◆ shift_position_by()

void shift_position_by ( const FourVector delta)

Shift position of all vertices in the event by delta.

Examples
basic_tree.cc.

Definition at line 424 of file GenEvent.cc.

References GenEvent::event_pos(), GenEvent::m_rootvertex, and GenEvent::m_vertices.

◆ shift_position_to()

void shift_position_to ( const FourVector newpos)
inline

Shift position of all vertices in the event to op.

Definition at line 200 of file GenEvent.h.

References GenEvent::event_pos(), and GenEvent::shift_position_by().

◆ vertices() [1/2]

const std::vector< GenVertexPtr > & vertices ( )
inline

Get/set list of vertices (non-const)

Definition at line 77 of file GenEvent.h.

References GenEvent::m_vertices.

◆ vertices() [2/2]

const std::vector< ConstGenVertexPtr > & vertices ( ) const

Get list of vertices (const)

Definition at line 43 of file GenEvent.cc.

References GenEvent::m_vertices.

◆ vertices_empty()

bool vertices_empty ( ) const
inline

Vertices empty, HepMC2 compatiility.

Definition at line 91 of file GenEvent.h.

References GenEvent::m_vertices.

◆ vertices_size()

int vertices_size ( ) const
inline

Vertices size, HepMC2 compatiility.

Definition at line 89 of file GenEvent.h.

References GenEvent::m_vertices.

◆ weight() [1/3]

double & weight ( const std::string &  name)
inline

Get event weight accessed by weight name

Note
Requires there to be an attached GenRunInfo, otherwise will throw an exception
It's the user's responsibility to ensure that the given name exists!

Definition at line 114 of file GenEvent.h.

References GenEvent::m_weights, and GenEvent::run_info().

◆ weight() [2/3]

double weight ( const std::string &  name) const
inline

Get event weight accessed by weight name

Note
Requires there to be an attached GenRunInfo, otherwise will throw an exception
It's the user's responsibility to ensure that the given name exists!

Definition at line 107 of file GenEvent.h.

References GenEvent::run_info(), and GenEvent::weight().

◆ weight() [3/3]

double weight ( const unsigned long &  index = 0) const
inline

Get event weight accessed by index (or the canonical/first one if there is no argument)

Note
It's the user's responsibility to ensure that the given index exists!

Definition at line 103 of file GenEvent.h.

References GenEvent::weights().

◆ weight_names()

const std::vector< std::string > & weight_names ( ) const
inline

Get event weight names, if there are some

Note
Requires there to be an attached GenRunInfo with registered weight names, otherwise will throw an exception

Definition at line 123 of file GenEvent.h.

References GenEvent::run_info().

◆ weights() [1/2]

std::vector< double > & weights ( )
inline

Get event weights as a vector (non-const)

Definition at line 100 of file GenEvent.h.

References GenEvent::m_weights.

◆ weights() [2/2]

const std::vector< double > & weights ( ) const
inline

Get event weight values as a vector.

Examples
LHEF_example_cat.cc.

Definition at line 98 of file GenEvent.h.

References GenEvent::m_weights.

◆ write_data()

void write_data ( GenEventData data) const

Field Documentation

◆ m_attributes

std::map< std::string, std::map<int, std::shared_ptr<Attribute> > > m_attributes
mutableprivate

Map of event, particle and vertex attributes.

Keys are name and ID (0 = event, <0 = vertex, >0 = particle)

Definition at line 388 of file GenEvent.h.

◆ m_event_number

int m_event_number
private

Event number.

Definition at line 369 of file GenEvent.h.

◆ m_length_unit

Units::LengthUnit m_length_unit
private

Length unit.

Definition at line 377 of file GenEvent.h.

◆ m_lock_attributes

std::recursive_mutex m_lock_attributes
mutableprivate

Mutex lock for the m_attibutes map.

Definition at line 397 of file GenEvent.h.

◆ m_momentum_unit

Units::MomentumUnit m_momentum_unit
private

Momentum unit.

Definition at line 375 of file GenEvent.h.

◆ m_particles

std::vector<GenParticlePtr> m_particles
private

List of particles.

Definition at line 364 of file GenEvent.h.

◆ m_rootvertex

GenVertexPtr m_rootvertex
private

The root vertex is stored outside the normal vertices list to block user access to it.

Definition at line 380 of file GenEvent.h.

◆ m_run_info

std::shared_ptr<GenRunInfo> m_run_info
private

Global run information.

Definition at line 383 of file GenEvent.h.

◆ m_vertices

std::vector<GenVertexPtr> m_vertices
private

List of vertices.

Definition at line 366 of file GenEvent.h.

◆ m_weights

std::vector<double> m_weights
private

Event weights.

Definition at line 372 of file GenEvent.h.


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