9#ifndef HEPMC3_GENVERTEX_H
10#define HEPMC3_GENVERTEX_H
12#include "HepMC3/GenParticle_fwd.h"
13#include "HepMC3/GenVertex_fwd.h"
27class GenVertex :
public std::enable_shared_from_this<GenVertex> {
110 bool add_attribute(
const string& name, shared_ptr<Attribute> att);
120 shared_ptr<T>
attribute(
const string& name)
const;
Implementation of error and warning macros.
Definition of class FourVector.
Definition of class GenEvent.
Definition of class GenVertexData.
bool is_zero() const
Check if the length of this vertex is zero.
static const FourVector & ZERO_VECTOR()
Static null FourVector = (0,0,0,0)
Stores event-related information.
shared_ptr< T > attribute(const string &name, const int &id=0) const
Get attribute of type T.
Stores particle-related information.
Stores vertex-related information.
void remove_particle_out(GenParticlePtr p)
Remove outgoing particle.
vector< GenParticlePtr > m_particles_out
Outgoing particle list.
GenVertexData m_data
Vertex data.
bool add_attribute(const string &name, shared_ptr< Attribute > att)
Add event attribute to this vertex.
void remove_particle_in(GenParticlePtr p)
Remove incoming particle.
shared_ptr< T > attribute(const string &name) const
Get attribute of type T.
void remove_attribute(const string &name)
Remove attribute.
GenEvent * m_event
Parent event.
void add_particle_in(GenParticlePtr p)
Add incoming particle.
void set_position(const FourVector &new_pos)
Set vertex position.
string attribute_as_string(const string &name) const
Get attribute of any type as string.
void add_particle_out(GenParticle *p)
const GenVertexData & data() const
Get vertex data.
void set_id(int id)
set the vertex identifier
const FourVector & position() const
Get vertex position.
vector< GenParticlePtr > m_particles_in
Incoming particle list.
int status() const
Get vertex status code.
void add_particle_in(GenParticle *p)
const vector< GenParticlePtr > & particles_in()
Get list of incoming particles.
GenEvent * parent_event()
Get parent event.
void set_status(int stat)
Set vertex status code.
bool in_event() const
Check if this vertex belongs to an event.
bool has_set_position() const
Check if position of this vertex is set.
const GenEvent * parent_event() const
Get parent event.
void add_particle_out(GenParticlePtr p)
Add outgoing particle.
vector< string > attribute_names() const
Get list of names of attributes assigned to this particle.
const vector< GenParticlePtr > & particles_out()
Get list of outgoing particles.
Stores serializable vertex information.
FourVector position
Position in time-space.