HepMC Reference Documentation

HepMC

HepMC::GenEvent Class Reference

The GenEvent class is the core of HepMC. More...

#include <GenEvent.h>

List of all members.

Public Member Functions

 GenEvent (int signal_process_id=0, int event_number=0, GenVertex *signal_vertex=0, const WeightContainer &weights=std::vector< double >(), const std::vector< long > &randomstates=std::vector< long >())
 default constructor creates null pointers to HeavyIon and PdfInfo
 GenEvent (int signal_process_id, int event_number, GenVertex *signal_vertex, const WeightContainer &weights, const std::vector< long > &randomstates, const HeavyIon &ion, const PdfInfo &pdf)
 explicit constructor that takes HeavyIon and PdfInfo
 GenEvent (const GenEvent &inevent)
 deep copy
GenEventoperator= (const GenEvent &inevent)
 make a deep copy
virtual ~GenEvent ()
 deletes all vertices/particles in this evt
void swap (GenEvent &other)
 swap
void print (std::ostream &ostr=std::cout) const
 dumps to ostr
void print_version (std::ostream &ostr=std::cout) const
 dumps release version to ostr
GenParticlebarcode_to_particle (int barCode) const
 assign a barcode to a particle
GenVertexbarcode_to_vertex (int barCode) const
 assign a barcode to a vertex
int signal_process_id () const
 unique signal process id
int event_number () const
 event number
int mpi () const
 number of multi parton interactions
double event_scale () const
 energy scale, see hep-ph/0109068
double alphaQCD () const
 QCD coupling, see hep-ph/0109068.
double alphaQED () const
GenVertexsignal_process_vertex () const
 pointer to the vertex containing the signal process
bool valid_beam_particles () const
 test to see if we have two valid beam particles
std::pair< HepMC::GenParticle *,
HepMC::GenParticle * > 
beam_particles () const
 pair of pointers to the two incoming beam particles
WeightContainerweights ()
 direct access to WeightContainer
const WeightContainerweights () const
 direct access to WeightContainer
HeavyIon *const heavy_ion () const
 access the HeavyIon container if it exists
HeavyIonheavy_ion ()
PdfInfo *const pdf_info () const
 access the PdfInfo container if it exists
PdfInfopdf_info ()
std::vector< long > random_states () const
 vector of integers containing information about the random state
void set_signal_process_id (int id)
 set unique signal process id
void set_event_number (int eventno)
 set event number
void set_mpi (int)
 Use this to set the number of multi parton interactions in each event.
void set_event_scale (double scale)
 set energy scale
void set_alphaQCD (double a)
 set QCD coupling
void set_alphaQED (double a)
 set QED coupling
void set_signal_process_vertex (GenVertex *)
 set pointer to the vertex containing the signal process
bool set_beam_particles (GenParticle *, GenParticle *)
 set incoming beam particles
bool set_beam_particles (std::pair< HepMC::GenParticle *, HepMC::GenParticle * > const &)
 use a pair of GenParticle*'s to set incoming beam particles
void set_random_states (const std::vector< long > &randomstates)
 provide random state information
void set_heavy_ion (const HeavyIon &ion)
 provide a pointer to the HeavyIon container
void set_pdf_info (const PdfInfo &p)
 provide a pointer to the PdfInfo container
int particles_size () const
 how many particle barcodes exist?
bool particles_empty () const
 return true if there are no particle barcodes
int vertices_size () const
 how many vertex barcodes exist?
bool vertices_empty () const
 return true if there are no vertex barcodes
bool add_vertex (GenVertex *vtx)
 adds to evt and adopts
bool remove_vertex (GenVertex *vtx)
 erases vtx from evt
void clear ()
 empties the entire event
vertex_const_iterator vertices_begin () const
 begin vertex iteration
vertex_const_iterator vertices_end () const
 end vertex iteration
vertex_iterator vertices_begin ()
 begin vertex iteration
vertex_iterator vertices_end ()
 end vertex iteration
particle_const_iterator particles_begin () const
 begin particle iteration
particle_const_iterator particles_end () const
 end particle iteration
particle_iterator particles_begin ()
 begin particle iteration
particle_iterator particles_end ()
 end particle iteration

Protected Member Functions

bool set_barcode (GenParticle *p, int suggested_barcode=0)
 set the barcode - intended for use by GenParticle
bool set_barcode (GenVertex *v, int suggested_barcode=0)
 set the barcode - intended for use by GenVertex
void remove_barcode (GenParticle *p)
 intended for use by GenParticle
void remove_barcode (GenVertex *v)
 intended for use by GenVertex
void delete_all_vertices ()
 delete all vertices owned by this event

Static Protected Member Functions

static unsigned int counter ()
 num GenEvent objects in memory

Friends

class GenParticle
class GenVertex
class vertex_const_iterator
class vertex_iterator
class particle_const_iterator
class particle_iterator

Classes

class  particle_const_iterator
 const particle iterator More...
class  particle_iterator
 non-const particle iterator More...
class  vertex_const_iterator
 const vertex iterator More...
class  vertex_iterator
 non-const vertex iterator More...


Detailed Description

The GenEvent class is the core of HepMC.

HepMC::GenEvent contains information about generated particles. GenEvent is structured as a set of vertices which contain the particles.

Examples:

example_BuildEventFromScratch.cc, example_EventSelection.cc, example_MyHerwig.cc, example_MyPythia.cc, example_MyPythiaOnlyToHepMC.cc, example_MyPythiaRead.cc, example_MyPythiaWithEventSelection.cc, example_PythiaParticle.cc, and example_UsingIterators.cc.

Definition at line 142 of file GenEvent.h.


Constructor & Destructor Documentation

HepMC::GenEvent::GenEvent ( int  signal_process_id = 0,
int  event_number = 0,
GenVertex signal_vertex = 0,
const WeightContainer weights = std::vector< double >(),
const std::vector< long > &  randomstates = std::vector< long >() 
)

default constructor creates null pointers to HeavyIon and PdfInfo

This constructor only allows null pointers to HeavyIon and PdfInfo

note: default values for m_event_scale, m_alphaQCD, m_alphaQED are as suggested in hep-ph/0109068, "Generic Interface..."

Definition at line 18 of file GenEvent.cc.

HepMC::GenEvent::GenEvent ( int  signal_process_id,
int  event_number,
GenVertex signal_vertex,
const WeightContainer weights,
const std::vector< long > &  randomstates,
const HeavyIon ion,
const PdfInfo pdf 
)

explicit constructor that takes HeavyIon and PdfInfo

GenEvent makes its own copy of HeavyIon and PdfInfo

note: default values for m_event_scale, m_alphaQCD, m_alphaQED are as suggested in hep-ph/0109068, "Generic Interface..."

Definition at line 46 of file GenEvent.cc.

HepMC::GenEvent::GenEvent ( const GenEvent inevent  ) 

deep copy

deep copy

deep - makes a copy of all vertices!

Definition at line 75 of file GenEvent.cc.

References add_vertex(), beam_particles(), GenParticle, GenVertex, p, particles_begin(), particles_end(), random_states(), set_beam_particles(), set_random_states(), set_signal_process_vertex(), signal_process_vertex(), v, vertices_begin(), vertices_end(), and weights().

HepMC::GenEvent::~GenEvent (  )  [virtual]

deletes all vertices/particles in this evt

Deep destructor. deletes all vertices/particles in this evt

Definition at line 164 of file GenEvent.cc.

References delete_all_vertices().


Member Function Documentation

GenEvent & HepMC::GenEvent::operator= ( const GenEvent inevent  ) 

make a deep copy

best practices implementation

Definition at line 175 of file GenEvent.cc.

References swap().

void HepMC::GenEvent::swap ( GenEvent other  ) 

swap

Definition at line 144 of file GenEvent.cc.

References m_alphaQCD, m_alphaQED, m_beam_particle_1, m_beam_particle_2, m_event_number, m_event_scale, m_heavy_ion, m_mpi, m_particle_barcodes, m_pdf_info, m_random_states, m_signal_process_id, m_signal_process_vertex, m_vertex_barcodes, m_weights, and HepMC::WeightContainer::swap().

Referenced by operator=().

void HepMC::GenEvent::print ( std::ostream &  ostr = std::cout  )  const

dumps to ostr

dumps the content of this event to ostr to dump to cout use: event.print(); if you want to write this event to file outfile.txt you could use: std::ofstream outfile("outfile.txt"); event.print( outfile );

Examples:
example_BuildEventFromScratch.cc, and example_MyHerwig.cc.

Definition at line 183 of file GenEvent.cc.

References alphaQCD(), alphaQED(), HepMC::GenVertex::barcode(), beam_particles(), HepMC::GenParticle::counter(), HepMC::GenVertex::counter(), counter(), HepMC::WeightContainer::end(), event_number(), event_scale(), particles_size(), signal_process_id(), signal_process_vertex(), HepMC::WeightContainer::size(), vertices_end(), vertices_size(), and weights().

Referenced by main().

void HepMC::GenEvent::print_version ( std::ostream &  ostr = std::cout  )  const

dumps release version to ostr

Definition at line 238 of file GenEvent.cc.

References HepMC::writeVersion().

GenParticle * HepMC::GenEvent::barcode_to_particle ( int  barCode  )  const [inline]

assign a barcode to a particle

Each vertex or particle has a barcode, which is just an integer which uniquely identifies it inside the event (i.e. there is a one to one mapping between particle memory addresses and particle barcodes... and the same applied for vertices).

The value of a barcode has NO MEANING and NO ORDER! For the user's convenience, when an event is read in via an IO_method from an indexed list (like the HEPEVT common block), then the index will become the barcode for that particle.

Particle barcodes are always positive integers. The barcodes are chosen and set automatically when a vertex or particle comes under the ownership of an event (i.e. it is contained in an event).

Definition at line 618 of file GenEvent.h.

GenVertex * HepMC::GenEvent::barcode_to_vertex ( int  barCode  )  const [inline]

assign a barcode to a vertex

Each vertex or particle has a barcode, which is just an integer which uniquely identifies it inside the event (i.e. there is a one to one mapping between particle memory addresses and particle barcodes... and the same applied for vertices).

The value of a barcode has NO MEANING and NO ORDER! For the user's convenience, when an event is read in via an IO_method from an indexed list (like the HEPEVT common block), then the index will become the barcode for that particle.

Vertex barcodes are always negative integers. The barcodes are chosen and set automatically when a vertex or particle comes under the ownership of an event (i.e. it is contained in an event).

Definition at line 638 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event(), and HepMC::IO_Ascii::fill_next_event().

int HepMC::GenEvent::signal_process_id (  )  const [inline]

unique signal process id

The integer ID that uniquely specifies this signal process, i.e. MSUB in Pythia. It is necessary to package this with each event rather than with the run because many processes may be generated within one run.

Definition at line 522 of file GenEvent.h.

Referenced by print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

int HepMC::GenEvent::event_number (  )  const [inline]

event number

Examples:
example_EventSelection.cc, and example_MyPythiaRead.cc.

Definition at line 525 of file GenEvent.h.

Referenced by main(), print(), HepMC::IO_HEPEVT::write_event(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

int HepMC::GenEvent::mpi (  )  const [inline]

number of multi parton interactions

Returns the number of multi parton interactions in the event. This number is -1 if it is not set.

Definition at line 529 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::write_event().

double HepMC::GenEvent::event_scale (  )  const [inline]

energy scale, see hep-ph/0109068

Definition at line 531 of file GenEvent.h.

Referenced by print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

double HepMC::GenEvent::alphaQCD (  )  const [inline]

QCD coupling, see hep-ph/0109068.

Definition at line 533 of file GenEvent.h.

Referenced by print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

double HepMC::GenEvent::alphaQED (  )  const [inline]

QED coupling, see hep-ph/0109068

Definition at line 535 of file GenEvent.h.

Referenced by print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

GenVertex * HepMC::GenEvent::signal_process_vertex (  )  const [inline]

pointer to the vertex containing the signal process

returns a (mutable) pointer to the signal process vertex

Definition at line 537 of file GenEvent.h.

Referenced by GenEvent(), print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

bool HepMC::GenEvent::valid_beam_particles (  )  const

test to see if we have two valid beam particles

Definition at line 477 of file GenEvent.cc.

References p, particles_begin(), and particles_end().

std::pair< HepMC::GenParticle *, HepMC::GenParticle * > HepMC::GenEvent::beam_particles (  )  const [inline]

pair of pointers to the two incoming beam particles

Definition at line 659 of file GenEvent.h.

Referenced by GenEvent(), print(), and HepMC::IO_ExtendedAscii::write_event().

WeightContainer & HepMC::GenEvent::weights (  )  [inline]

direct access to WeightContainer

direct access to the weights container is allowed. Thus you can use myevt.weights()[2]; to access element 2 of the weights. or use myevt.weights().push_back( mywgt ); to add an element. and you can set the weights with myevt.weights() = myvector;

Definition at line 542 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), GenEvent(), print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

const WeightContainer & HepMC::GenEvent::weights (  )  const [inline]

direct access to WeightContainer

Definition at line 544 of file GenEvent.h.

HeavyIon *const HepMC::GenEvent::heavy_ion (  )  const [inline]

access the HeavyIon container if it exists

Definition at line 547 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::write_event().

HeavyIon * HepMC::GenEvent::heavy_ion (  )  [inline]

Definition at line 550 of file GenEvent.h.

PdfInfo *const HepMC::GenEvent::pdf_info (  )  const [inline]

access the PdfInfo container if it exists

Definition at line 553 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::write_event().

PdfInfo * HepMC::GenEvent::pdf_info (  )  [inline]

Definition at line 556 of file GenEvent.h.

std::vector< long > HepMC::GenEvent::random_states (  )  const [inline]

vector of integers containing information about the random state

Vector of integers which specify the random number generator's state for this event. It is left to the generator to make use of this. We envision a vector of RndmStatesTags to be included with a run class which would specify the meaning of the random_states.

Definition at line 564 of file GenEvent.h.

Referenced by GenEvent(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

void HepMC::GenEvent::set_signal_process_id ( int  id  )  [inline]

set unique signal process id

Examples:
example_MyHerwig.cc, example_MyPythia.cc, example_MyPythiaRead.cc, and example_PythiaParticle.cc.

Definition at line 567 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), and main().

void HepMC::GenEvent::set_event_number ( int  eventno  )  [inline]

set event number

Examples:
example_MyHerwig.cc, example_MyPythia.cc, example_MyPythiaRead.cc, and example_PythiaParticle.cc.

Definition at line 570 of file GenEvent.h.

Referenced by HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_HEPEVT::fill_next_event(), HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), and main().

void HepMC::GenEvent::set_mpi ( int   )  [inline]

Use this to set the number of multi parton interactions in each event.

Examples:
example_MyPythia.cc, example_MyPythiaOnlyToHepMC.cc, and example_MyPythiaWithEventSelection.cc.

Definition at line 574 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event(), and main().

void HepMC::GenEvent::set_event_scale ( double  scale  )  [inline]

set energy scale

Definition at line 578 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event().

void HepMC::GenEvent::set_alphaQCD ( double  a  )  [inline]

set QCD coupling

Definition at line 580 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event().

void HepMC::GenEvent::set_alphaQED ( double  a  )  [inline]

set QED coupling

Definition at line 582 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event().

void HepMC::GenEvent::set_signal_process_vertex ( GenVertex  )  [inline]

set pointer to the vertex containing the signal process

Examples:
example_BuildEventFromScratch.cc.

Definition at line 584 of file GenEvent.h.

References add_vertex().

Referenced by HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), GenEvent(), and main().

bool HepMC::GenEvent::set_beam_particles ( GenParticle bp1,
GenParticle bp2 
)

set incoming beam particles

construct the beam particle information using pointers to GenParticle returns false if either GenParticle* is null

Definition at line 495 of file GenEvent.cc.

Referenced by HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_HEPEVT::fill_next_event(), HepMC::IO_ExtendedAscii::fill_next_event(), GenEvent(), and set_beam_particles().

bool HepMC::GenEvent::set_beam_particles ( std::pair< HepMC::GenParticle *, HepMC::GenParticle * > const &  bp  ) 

use a pair of GenParticle*'s to set incoming beam particles

construct the beam particle information using a std::pair of pointers to GenParticle returns false if either GenParticle* is null

Definition at line 504 of file GenEvent.cc.

References set_beam_particles().

void HepMC::GenEvent::set_random_states ( const std::vector< long > &  randomstates  )  [inline]

provide random state information

Definition at line 595 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), and GenEvent().

void HepMC::GenEvent::set_heavy_ion ( const HeavyIon ion  )  [inline]

provide a pointer to the HeavyIon container

Definition at line 589 of file GenEvent.h.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event().

void HepMC::GenEvent::set_pdf_info ( const PdfInfo p  )  [inline]

provide a pointer to the PdfInfo container

Definition at line 592 of file GenEvent.h.

References p.

Referenced by HepMC::IO_ExtendedAscii::fill_next_event().

int HepMC::GenEvent::particles_size (  )  const [inline]

how many particle barcodes exist?

Definition at line 645 of file GenEvent.h.

Referenced by print(), and HepMC::IO_AsciiParticles::write_event().

bool HepMC::GenEvent::particles_empty (  )  const [inline]

return true if there are no particle barcodes

Definition at line 648 of file GenEvent.h.

Referenced by delete_all_vertices().

int HepMC::GenEvent::vertices_size (  )  const [inline]

how many vertex barcodes exist?

Definition at line 651 of file GenEvent.h.

Referenced by print(), HepMC::IO_ExtendedAscii::write_event(), HepMC::IO_AsciiParticles::write_event(), and HepMC::IO_Ascii::write_event().

bool HepMC::GenEvent::vertices_empty (  )  const [inline]

return true if there are no vertex barcodes

Definition at line 654 of file GenEvent.h.

Referenced by delete_all_vertices().

bool HepMC::GenEvent::add_vertex ( GenVertex vtx  ) 

adds to evt and adopts

returns true if successful - generally will only return false if the inserted vertex is already included in the event.

Examples:
example_BuildEventFromScratch.cc.

Definition at line 244 of file GenEvent.cc.

References HepMC::GenVertex::barcode(), HepMC::GenVertex::parent_event(), remove_vertex(), and HepMC::GenVertex::set_parent_event_().

Referenced by HepMC::IO_HERWIG::build_end_vertex(), HepMC::IO_HERWIG::build_production_vertex(), HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_HEPEVT::fill_next_event(), HepMC::IO_ExtendedAscii::fill_next_event(), HepMC::IO_Ascii::fill_next_event(), GenEvent(), main(), and set_signal_process_vertex().

bool HepMC::GenEvent::remove_vertex ( GenVertex vtx  ) 

erases vtx from evt

this removes vtx from the event but does NOT delete it. returns True if an entry vtx existed in the table and was erased

Definition at line 267 of file GenEvent.cc.

References HepMC::GenVertex::barcode(), HepMC::GenVertex::parent_event(), and HepMC::GenVertex::set_parent_event_().

Referenced by add_vertex().

void HepMC::GenEvent::clear (  ) 

empties the entire event

remove all information from the event deletes all vertices/particles in this evt

Definition at line 275 of file GenEvent.cc.

References HepMC::GenParticle::counter(), HepMC::GenVertex::counter(), and delete_all_vertices().

vertex_const_iterator HepMC::GenEvent::vertices_begin (  )  const [inline]

begin vertex iteration

Examples:
example_UsingIterators.cc.

Definition at line 294 of file GenEvent.h.

Referenced by GenEvent(), main(), HepMC::IO_HEPEVT::write_event(), HepMC::IO_ExtendedAscii::write_event(), and HepMC::IO_Ascii::write_event().

vertex_const_iterator HepMC::GenEvent::vertices_end (  )  const [inline]

end vertex iteration

Examples:
example_UsingIterators.cc.

Definition at line 298 of file GenEvent.h.

Referenced by GenEvent(), main(), print(), HepMC::IO_HEPEVT::write_event(), HepMC::IO_ExtendedAscii::write_event(), and HepMC::IO_Ascii::write_event().

vertex_iterator HepMC::GenEvent::vertices_begin (  )  [inline]

begin vertex iteration

Definition at line 351 of file GenEvent.h.

vertex_iterator HepMC::GenEvent::vertices_end (  )  [inline]

end vertex iteration

Definition at line 355 of file GenEvent.h.

particle_const_iterator HepMC::GenEvent::particles_begin (  )  const [inline]

begin particle iteration

Examples:
example_BuildEventFromScratch.cc, example_EventSelection.cc, example_MyPythiaWithEventSelection.cc, and example_UsingIterators.cc.

Definition at line 413 of file GenEvent.h.

Referenced by GenEvent(), main(), IsGoodEventMyPythia::operator()(), IsGoodEvent::operator()(), valid_beam_particles(), and HepMC::IO_AsciiParticles::write_event().

particle_const_iterator HepMC::GenEvent::particles_end (  )  const [inline]

end particle iteration

Examples:
example_BuildEventFromScratch.cc, example_EventSelection.cc, example_MyPythiaWithEventSelection.cc, and example_UsingIterators.cc.

Definition at line 417 of file GenEvent.h.

Referenced by GenEvent(), main(), IsGoodEventMyPythia::operator()(), IsGoodEvent::operator()(), valid_beam_particles(), and HepMC::IO_AsciiParticles::write_event().

particle_iterator HepMC::GenEvent::particles_begin (  )  [inline]

begin particle iteration

Definition at line 466 of file GenEvent.h.

particle_iterator HepMC::GenEvent::particles_end (  )  [inline]

end particle iteration

Definition at line 470 of file GenEvent.h.

bool HepMC::GenEvent::set_barcode ( GenParticle p,
int  suggested_barcode = 0 
) [protected]

set the barcode - intended for use by GenParticle

Definition at line 339 of file GenEvent.cc.

References p.

Referenced by HepMC::GenVertex::set_parent_event_(), HepMC::GenVertex::suggest_barcode(), and HepMC::GenParticle::suggest_barcode().

bool HepMC::GenEvent::set_barcode ( GenVertex v,
int  suggested_barcode = 0 
) [protected]

set the barcode - intended for use by GenVertex

Definition at line 410 of file GenEvent.cc.

References v.

void HepMC::GenEvent::remove_barcode ( GenParticle p  )  [inline, protected]

intended for use by GenParticle

Definition at line 599 of file GenEvent.h.

References p.

Referenced by HepMC::GenParticle::set_end_vertex_(), HepMC::GenVertex::set_parent_event_(), HepMC::GenParticle::set_production_vertex_(), HepMC::GenParticle::~GenParticle(), and HepMC::GenVertex::~GenVertex().

void HepMC::GenEvent::remove_barcode ( GenVertex v  )  [inline, protected]

intended for use by GenVertex

Definition at line 602 of file GenEvent.h.

References v.

unsigned int HepMC::GenEvent::counter (  )  [static, protected]

num GenEvent objects in memory

Definition at line 511 of file GenEvent.cc.

Referenced by print().

void HepMC::GenEvent::delete_all_vertices (  )  [protected]

delete all vertices owned by this event

deletes all vertices in the vertex container (i.e. all vertices owned by this event) The vertices are the "owners" of the particles, so as we delete the vertices, the vertex desctructors are automatically deleting their particles.

Definition at line 308 of file GenEvent.cc.

References HepMC::GenParticle::counter(), HepMC::GenVertex::counter(), particles_empty(), and vertices_empty().

Referenced by clear(), and ~GenEvent().


Friends And Related Function Documentation

friend class GenParticle [friend]

Definition at line 143 of file GenEvent.h.

Referenced by GenEvent().

friend class GenVertex [friend]

Definition at line 144 of file GenEvent.h.

Referenced by GenEvent().

friend class vertex_const_iterator [friend]

Definition at line 292 of file GenEvent.h.

Referenced by HepMC::GenEvent::vertex_iterator::operator vertex_const_iterator().

friend class vertex_iterator [friend]

Definition at line 349 of file GenEvent.h.

friend class particle_const_iterator [friend]

Definition at line 411 of file GenEvent.h.

Referenced by HepMC::GenEvent::particle_iterator::operator particle_const_iterator().

friend class particle_iterator [friend]

Definition at line 464 of file GenEvent.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 5 13:25:46 2008 for HepMC by  doxygen 1.5.1-3