HepMC3 event record library: GenVertex Class Reference

HepMC3 event record library

Friends
GenVertex Class Reference

## Detailed Description

Stores vertex-related information.

Definition at line 29 of file GenVertex.h.

`#include <GenVertex.h>`

Inheritance diagram for GenVertex:
[legend]
Collaboration diagram for GenVertex:
[legend]

## Public Member Functions
Constructors
| GenVertex (const FourVector &position=FourVector::ZERO_VECTOR())
| Default constructor.
| GenVertex (const GenVertexData &data)
| Constructor based on vertex data.
Accessors
GenEvent * | parent_event ()
| Get parent event.
const GenEvent * | parent_event () const
| Get parent event.
bool | in_event () const
| Check if this vertex belongs to an event.
int | id () const
int | status () const
| Get vertex status code.
void | set_status (int stat)
| Set vertex status code.
const GenVertexData & | data () const
| Get vertex data.
void | add_particle_in (GenParticlePtr p)
| Add incoming particle.
void | add_particle_out (GenParticlePtr p)
| Add outgoing particle.
void | remove_particle_in (GenParticlePtr p)
| Remove incoming particle.
void | remove_particle_out (GenParticlePtr p)
| Remove outgoing particle.
int | particles_in_size () const
| Number of incoming particles, HepMC2 compatiility.
int | particles_out_size () const
| Number of outgoing particles, HepMC2 compatiility.
const std::vector< GenParticlePtr > & | particles_in ()
| Get list of incoming particles.
const std::vector< ConstGenParticlePtr > & | particles_in () const
| Get list of incoming particles (for const access).
const std::vector< GenParticlePtr > & | particles_out ()
| Get list of outgoing particles.
const std::vector< ConstGenParticlePtr > & | particles_out () const
| Get list of outgoing particles (for const access).
const FourVector & | position () const
| Get vertex position.
bool | has_set_position () const
| Check if position of this vertex is set.
void | set_position (const FourVector &new_pos)
| Set vertex position.
bool | add_attribute (const std::string &name, std::shared_ptr< Attribute > att)
| Add event attribute to this vertex.
std::vector< std::string > | attribute_names () const
| Get list of names of attributes assigned to this particle.
void | remove_attribute (const std::string &name)
| Remove attribute.
template<class T>
std::shared_ptr< T > | attribute (const std::string &name) const
| Get attribute of type T.
std::string | attribute_as_string (const std::string &name) const
| Get attribute of any type as string.

## Private Attributes
Fields
GenEvent * | m_event
| Parent event.
int | m_id
| Vertex id.
GenVertexData | m_data
| Vertex data.
std::vector< GenParticlePtr > | m_particles_in
| Incoming particle list.
std::vector< GenParticlePtr > | m_particles_out
| Outgoing particle list.

## Friends
class | GenEvent

## Constructor & Destructor Documentation

## ◆ GenVertex() [1/2]

GenVertex | ( | const FourVector & | position = FourVector::ZERO_VECTOR() | ) |

Default constructor.

Definition at line 22 of file GenVertex.cc.

References m_data, m_event, and m_id.

## ◆ GenVertex() [2/2]

GenVertex | ( | const GenVertexData & | data | ) |

Constructor based on vertex data.

Definition at line 29 of file GenVertex.cc.

References m_data, m_event, and m_id.

## Member Function Documentation

## ◆ add_attribute()

bool add_attribute | ( | const std::string & | name,
|  | std::shared_ptr< Attribute > | att )

Add event attribute to this vertex.

This will overwrite existing attribute if an attribute with the same name is present. The attribute will be stored in the parent_event().

Returns
  false if there is no parent_event();

Definition at line 114 of file GenVertex.cc.

References GenEvent::add_attribute(), and parent_event().

## ◆ add_particle_in()

void add_particle_in | ( | GenParticlePtr | p | ) |

Add incoming particle.

Definition at line 36 of file GenVertex.cc.

References m_event, m_particles_in, and particles_in().

## ◆ add_particle_out()

void add_particle_out | ( | GenParticlePtr | p | ) |

Add outgoing particle.

Definition at line 52 of file GenVertex.cc.

References m_event, m_particles_out, and particles_out().

## ◆ attribute()

template<class T>

std::shared_ptr< T > attribute | ( | const std::string & | name | ) | const

Get attribute of type T.

Definition at line 156 of file GenVertex.h.

References GenEvent::attribute(), id(), and parent_event().

## ◆ attribute_as_string()

std::string attribute_as_string | ( | const std::string & | name | ) | const

Get attribute of any type as string.

Definition at line 124 of file GenVertex.cc.

References GenEvent::attribute_as_string(), and parent_event().

## ◆ attribute_names()

std::vector< std::string > attribute_names | ( |  | ) | const

Get list of names of attributes assigned to this particle.

Definition at line 128 of file GenVertex.cc.

References GenEvent::attribute_names(), and parent_event().

## ◆ data()

const GenVertexData & data | ( |  | ) | const
| inline

Get vertex data.

Definition at line 75 of file GenVertex.h.

References m_data.

## ◆ has_set_position()

bool has_set_position | ( |  | ) | const
| inline

Check if position of this vertex is set.

Definition at line 109 of file GenVertex.h.

References m_data.

## ◆ id()

int id | ( |  | ) | const
| inline

Get the vertex unique identifier

Note
  This is not the same as id() in HepMC v2, which is now `status()`

Definition at line 67 of file GenVertex.h.

References m_id.

## ◆ in_event()

bool in_event | ( |  | ) | const
| inline

Check if this vertex belongs to an event.

Definition at line 62 of file GenVertex.h.

References parent_event().

## ◆ parent_event() [1/2]

GenEvent * parent_event | ( |  | ) |
| inline

Get parent event.

Definition at line 56 of file GenVertex.h.

References m_event.

## ◆ parent_event() [2/2]

const GenEvent * parent_event | ( |  | ) | const
| inline

Get parent event.

Definition at line 59 of file GenVertex.h.

References m_event.

## ◆ particles_in() [1/2]

const std::vector< GenParticlePtr > & particles_in | ( |  | ) |
| inline

Get list of incoming particles.

Definition at line 93 of file GenVertex.h.

References m_particles_in.

## ◆ particles_in() [2/2]

const std::vector< ConstGenParticlePtr > & particles_in | ( |  | ) | const

Get list of incoming particles (for const access).

Definition at line 82 of file GenVertex.cc.

References m_particles_in.

## ◆ particles_in_size()

int particles_in_size | ( |  | ) | const
| inline

Number of incoming particles, HepMC2 compatiility.

Definition at line 87 of file GenVertex.h.

References m_particles_in.

## ◆ particles_out() [1/2]

const std::vector< GenParticlePtr > & particles_out | ( |  | ) |
| inline

Get list of outgoing particles.

Definition at line 97 of file GenVertex.h.

References m_particles_out.

## ◆ particles_out() [2/2]

const std::vector< ConstGenParticlePtr > & particles_out | ( |  | ) | const

Get list of outgoing particles (for const access).

Definition at line 86 of file GenVertex.cc.

References m_particles_out.

## ◆ particles_out_size()

int particles_out_size | ( |  | ) | const
| inline

Number of outgoing particles, HepMC2 compatiility.

Definition at line 89 of file GenVertex.h.

References m_particles_out.

## ◆ position()

const FourVector & position | ( |  | ) | const

Get vertex position.

Returns the position of this vertex. If a position is not set on this vertex, the production vertices of ancestors are searched to find the inherited position. FourVector(0,0,0,0) is returned if no position information is found.

Definition at line 90 of file GenVertex.cc.

References GenEvent::attribute(), GenEvent::event_pos(), has_set_position(), m_data, m_particles_in, parent_event(), and FourVector::ZERO_VECTOR().

## ◆ remove_attribute()

void remove_attribute | ( | const std::string & | name | ) |

Remove attribute.

Definition at line 120 of file GenVertex.cc.

References parent_event(), and GenEvent::remove_attribute().

## ◆ remove_particle_in()

void remove_particle_in | ( | GenParticlePtr | p | ) |

Remove incoming particle.

Definition at line 67 of file GenVertex.cc.

References m_particles_in.

## ◆ remove_particle_out()

void remove_particle_out | ( | GenParticlePtr | p | ) |

Remove outgoing particle.

Definition at line 75 of file GenVertex.cc.

References m_particles_out.

## ◆ set_position()

void set_position | ( | const FourVector & | new_pos | ) |

Set vertex position.

Definition at line 110 of file GenVertex.cc.

References m_data.

## ◆ set_status()

void set_status | ( | int | stat | ) |
| inline

Set vertex status code.

Definition at line 72 of file GenVertex.h.

References m_data.

## ◆ status()

int status | ( |  | ) | const
| inline

Get vertex status code.

Definition at line 70 of file GenVertex.h.

References m_data.

## Friends And Related Symbol Documentation

## ◆ GenEvent

friend class GenEvent
| friend

Definition at line 31 of file GenVertex.h.

## Field Documentation

## ◆ m_data

GenVertexData m_data
| private

Vertex data.

Definition at line 141 of file GenVertex.h.

## ◆ m_event

GenEvent* m_event
| private

Parent event.

Definition at line 139 of file GenVertex.h.

## ◆ m_id

int m_id
| private

Vertex id.

Definition at line 140 of file GenVertex.h.

## ◆ m_particles_in

std::vector<GenParticlePtr> m_particles_in
| private

Incoming particle list.

Definition at line 143 of file GenVertex.h.

## ◆ m_particles_out

std::vector<GenParticlePtr> m_particles_out
| private

Outgoing particle list.

Definition at line 145 of file GenVertex.h.

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

- GenVertex.h
- GenVertex.cc