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 >(), Units::MomentumUnit=Units::default_momentum_unit(), Units::LengthUnit=Units::default_length_unit())
 default constructor creates null pointers to HeavyIon, PdfInfo, and GenCrossSection
 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, Units::MomentumUnit=Units::default_momentum_unit(), Units::LengthUnit=Units::default_length_unit())
 explicit constructor that takes HeavyIon and PdfInfo
 GenEvent (Units::MomentumUnit, Units::LengthUnit, 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 >())
 constructor requiring units - all else is default
 GenEvent (Units::MomentumUnit, Units::LengthUnit, 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 with units first 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
bool is_valid () const
WeightContainerweights ()
 direct access to WeightContainer
const WeightContainerweights () const
 direct access to WeightContainer
GenCrossSection const * cross_section () const
 access the GenCrossSection container if it exists
GenCrossSectioncross_section ()
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 ()
const std::vector< long > & random_states () const
 vector of integers containing information about the random state
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
void write_units (std::ostream &os=std::cout) const
void write_cross_section (std::ostream &ostr=std::cout) const
Units::MomentumUnit momentum_unit () const
 Units used by the GenParticle momentum FourVector.
Units::LengthUnit length_unit () const
 Units used by the GenVertex position FourVector.
std::ostream & write (std::ostream &)
std::istream & read (std::istream &)
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
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_cross_section (const GenCrossSection &)
 provide a pointer to the GenCrossSection container
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
void use_units (Units::MomentumUnit, Units::LengthUnit)
 set the units using enums
void use_units (std::string &, std::string &)
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=false)
 set the barcode - intended for use by GenParticle
bool set_barcode (GenVertex *v, int suggested_barcode=false)
 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

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_PythiaStreamIO.cc, example_UsingIterators.cc, testFlow.cc, testHepMC.cc.in, testHepMCIteration.cc.in, testHerwigCopies.cc, testMass.cc.in, testMultipleCopies.cc.in, testPrintBug.cc, testPythiaCopies.cc, and testStreamIO.cc.in.

Definition at line 150 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 >(),
Units::MomentumUnit  = Units::default_momentum_unit(),
Units::LengthUnit  = Units::default_length_unit() 
)

default constructor creates null pointers to HeavyIon, PdfInfo, and GenCrossSection

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 22 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,
Units::MomentumUnit  = Units::default_momentum_unit(),
Units::LengthUnit  = Units::default_length_unit() 
)

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 55 of file GenEvent.cc.

HepMC::GenEvent::GenEvent ( Units::MomentumUnit  ,
Units::LengthUnit  ,
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 >() 
)

constructor requiring units - all else is default

constructor requiring units - all else is default 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 88 of file GenEvent.cc.

HepMC::GenEvent::GenEvent ( Units::MomentumUnit  ,
Units::LengthUnit  ,
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 with units first that takes HeavyIon and PdfInfo

explicit constructor with units first 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 122 of file GenEvent.cc.

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

deep copy

deep copy - makes a copy of all vertices!

Definition at line 156 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 GenEvent deletes the associated HeavyIon and PdfInfo

Definition at line 258 of file GenEvent.cc.

References delete_all_vertices().


Member Function Documentation

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, testFlow.cc, and testPrintBug.cc.

Definition at line 336 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_HEPEVT::build_end_vertex(), HepMC::IO_HERWIG::build_production_vertex(), HepMC::IO_HEPEVT::build_production_vertex(), HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_HEPEVT::fill_next_event(), GenEvent(), main(), read(), and set_signal_process_vertex().

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

QCD coupling, see hep-ph/0109068.

Definition at line 662 of file GenEvent.h.

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

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

QED coupling, see hep-ph/0109068

Definition at line 664 of file GenEvent.h.

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

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).

Please note that the barcodes are intended for internal use within HepMC as a unique identifier for the particles and vertices. Using the barcode to encode extra information is an abuse of the barcode data member and causes confusion among users.

Definition at line 770 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).

Please note that the barcodes are intended for internal use within HepMC as a unique identifier for the particles and vertices. Using the barcode to encode extra information is an abuse of the barcode data member and causes confusion among users.

Definition at line 795 of file GenEvent.h.

Referenced by HepMC::compareVertices(), and read().

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

pair of pointers to the two incoming beam particles

Examples:
testMass.cc.in.

Definition at line 816 of file GenEvent.h.

Referenced by HepMC::compareBeamParticles(), GenEvent(), print(), and write().

void HepMC::GenEvent::clear (  ) 

empties the entire event

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

Examples:
testHepMCIteration.cc.in, and testStreamIO.cc.in.

Definition at line 367 of file GenEvent.cc.

References HepMC::Units::default_length_unit(), HepMC::Units::default_momentum_unit(), and delete_all_vertices().

Referenced by HepMC::IO_GenEvent::fill_next_event(), and read().

GenCrossSection * HepMC::GenEvent::cross_section (  )  [inline]

Definition at line 679 of file GenEvent.h.

GenCrossSection const * HepMC::GenEvent::cross_section (  )  const [inline]

access the GenCrossSection container if it exists

Examples:
example_PythiaStreamIO.cc, and testHepMC.cc.in.

Definition at line 676 of file GenEvent.h.

Referenced by readPythiaStreamIO(), and write_cross_section().

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 405 of file GenEvent.cc.

References particles_empty(), and vertices_empty().

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

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

event number

Examples:
example_EventSelection.cc, example_MyPythia.cc, testHepMC.cc.in, testHepMCIteration.cc.in, testHerwigCopies.cc, testMass.cc.in, testMultipleCopies.cc.in, testPythiaCopies.cc, and testStreamIO.cc.in.

Definition at line 654 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), main(), particleTypes(), print(), pythia_in(), pythia_in_out(), read(), write(), HepMC::IO_HEPEVT::write_event(), and HepMC::IO_AsciiParticles::write_event().

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

energy scale, see hep-ph/0109068

Definition at line 660 of file GenEvent.h.

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

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

Definition at line 685 of file GenEvent.h.

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

access the HeavyIon container if it exists

Definition at line 682 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), and write().

bool HepMC::GenEvent::is_valid (  )  const

check GenEvent for validity A GenEvent is presumed valid if it has particles and/or vertices.

A GenEvent is presumed valid if it has both associated particles and vertices. No other information is checked.

Examples:
example_PythiaStreamIO.cc, and testStreamIO.cc.in.

Definition at line 667 of file GenEvent.cc.

References particles_empty(), and vertices_empty().

Referenced by HepMC::IO_GenEvent::fill_next_event(), and readPythiaStreamIO().

Units::LengthUnit HepMC::GenEvent::length_unit (  )  const [inline]

Units used by the GenVertex position FourVector.

Definition at line 824 of file GenEvent.h.

Referenced by write(), and write_units().

Units::MomentumUnit HepMC::GenEvent::momentum_unit (  )  const [inline]

Units used by the GenParticle momentum FourVector.

Definition at line 821 of file GenEvent.h.

Referenced by write(), and write_units().

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 658 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), and write().

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

make a deep copy

best practices implementation

Definition at line 269 of file GenEvent.cc.

References swap().

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

begin particle iteration

Definition at line 541 of file GenEvent.h.

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

begin particle iteration

Examples:
example_BuildEventFromScratch.cc, example_EventSelection.cc, example_MyPythia.cc, example_UsingIterators.cc, testHepMCIteration.cc.in, testMass.cc.in, and testMultipleCopies.cc.in.

Definition at line 483 of file GenEvent.h.

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

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

return true if there are no particle barcodes

Definition at line 805 of file GenEvent.h.

Referenced by delete_all_vertices(), and is_valid().

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

end particle iteration

Definition at line 545 of file GenEvent.h.

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

end particle iteration

Examples:
example_BuildEventFromScratch.cc, example_EventSelection.cc, example_MyPythia.cc, example_UsingIterators.cc, testHepMCIteration.cc.in, testMass.cc.in, and testMultipleCopies.cc.in.

Definition at line 487 of file GenEvent.h.

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

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

how many particle barcodes exist?

Examples:
testMultipleCopies.cc.in.

Definition at line 802 of file GenEvent.h.

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

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

Definition at line 691 of file GenEvent.h.

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

access the PdfInfo container if it exists

Definition at line 688 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), and write().

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, example_MyHerwig.cc, testFlow.cc, testHepMC.cc.in, testHerwigCopies.cc, testMultipleCopies.cc.in, testPrintBug.cc, and testPythiaCopies.cc.

Definition at line 277 of file GenEvent.cc.

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

Referenced by main().

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

dumps release version to ostr

Definition at line 330 of file GenEvent.cc.

References HepMC::writeVersion().

const 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 699 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), GenEvent(), read(), and HepMC::IO_AsciiParticles::write_event().

std::istream & HepMC::GenEvent::read ( std::istream &   ) 

Examples:
example_PythiaStreamIO.cc, and testStreamIO.cc.in.

Definition at line 138 of file GenEventStreamIO.cc.

References HepMC::GenVertex::add_particle_in(), add_vertex(), barcode_to_vertex(), clear(), HepMC::TempParticleMap::end_vertex(), event_number(), HepMC::extascii, HepMC::detail::find_event_end(), HepMC::StreamInfo::finished_first_event(), HepMC::gen, GenVertex, HepMC::get_stream_info(), HepMC::StreamInfo::has_key(), HepMC::StreamInfo::io_type(), HepMC::PdfInfo::is_valid(), HepMC::TempParticleMap::order_begin(), HepMC::TempParticleMap::order_end(), p, random_states(), HepMC::detail::read_vertex(), set_alphaQCD(), set_alphaQED(), set_beam_particles(), set_cross_section(), set_event_number(), set_event_scale(), HepMC::StreamInfo::set_finished_first_event(), set_heavy_ion(), set_mpi(), set_pdf_info(), set_random_states(), set_signal_process_id(), set_signal_process_vertex(), signal_process_id(), signal_process_vertex(), v, and weights().

Referenced by HepMC::operator>>(), and readPythiaStreamIO().

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

intended for use by GenVertex

Definition at line 749 of file GenEvent.h.

References v.

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

intended for use by GenParticle

Definition at line 746 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().

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 359 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::set_alphaQCD ( double  a  )  [inline]

set QCD coupling

Definition at line 715 of file GenEvent.h.

Referenced by read().

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

set QED coupling

Definition at line 717 of file GenEvent.h.

Referenced by read().

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

set the barcode - intended for use by GenVertex

Definition at line 503 of file GenEvent.cc.

References v.

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

set the barcode - intended for use by GenParticle

Definition at line 432 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_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 597 of file GenEvent.cc.

References set_beam_particles().

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 588 of file GenEvent.cc.

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

void HepMC::GenEvent::set_cross_section ( const GenCrossSection  )  [inline]

provide a pointer to the GenCrossSection container

Examples:
example_MyHerwig.cc, example_MyPythia.cc, example_MyPythiaOnlyToHepMC.cc, example_PythiaStreamIO.cc, testHepMC.cc.in, testHerwigCopies.cc, and testPythiaCopies.cc.

Definition at line 724 of file GenEvent.h.

Referenced by event_selection(), main(), pythia_in_out(), pythia_out(), pythia_particle_out(), read(), and writePythiaStreamIO().

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

set event number

Examples:
example_MyHerwig.cc, example_MyPythia.cc, example_PythiaStreamIO.cc, and testHerwigCopies.cc.

Definition at line 705 of file GenEvent.h.

Referenced by HepMC::IO_HERWIG::fill_next_event(), HepMC::IO_HEPEVT::fill_next_event(), main(), pythia_in_out(), pythia_out(), pythia_particle_out(), read(), and writePythiaStreamIO().

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

set energy scale

Definition at line 713 of file GenEvent.h.

Referenced by read().

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

provide a pointer to the HeavyIon container

Examples:
testMass.cc.in.

Definition at line 730 of file GenEvent.h.

Referenced by read().

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, example_PythiaStreamIO.cc, and testPythiaCopies.cc.

Definition at line 709 of file GenEvent.h.

Referenced by event_selection(), main(), pythia_out(), read(), and writePythiaStreamIO().

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

provide a pointer to the PdfInfo container

Examples:
testMass.cc.in.

Definition at line 736 of file GenEvent.h.

References p.

Referenced by read().

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

provide random state information

Definition at line 742 of file GenEvent.h.

Referenced by GenEvent(), and read().

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

set unique signal process id

Examples:
example_MyHerwig.cc, example_MyPythia.cc, example_PythiaStreamIO.cc, and testHerwigCopies.cc.

Definition at line 702 of file GenEvent.h.

Referenced by main(), pythia_in_out(), pythia_out(), pythia_particle_out(), read(), and writePythiaStreamIO().

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

set pointer to the vertex containing the signal process

Examples:
example_BuildEventFromScratch.cc, and testFlow.cc.

Definition at line 719 of file GenEvent.h.

References add_vertex().

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

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 651 of file GenEvent.h.

Referenced by HepMC::compareGenEvent(), print(), read(), write(), and HepMC::IO_AsciiParticles::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 666 of file GenEvent.h.

Referenced by HepMC::compareSignalProcessVertex(), GenEvent(), print(), read(), write(), and HepMC::IO_AsciiParticles::write_event().

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

swap

Definition at line 226 of file GenEvent.cc.

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

Referenced by operator=().

void HepMC::GenEvent::use_units ( std::string &  ,
std::string &   
) [inline]

set the units using strings the string must match the enum exactly

Definition at line 833 of file GenEvent.h.

void HepMC::GenEvent::use_units ( Units::MomentumUnit  ,
Units::LengthUnit   
) [inline]

set the units using enums

Examples:
example_BuildEventFromScratch.cc, example_MyHerwig.cc, example_MyPythia.cc, example_MyPythiaOnlyToHepMC.cc, example_PythiaStreamIO.cc, testHerwigCopies.cc, and testPythiaCopies.cc.

Definition at line 828 of file GenEvent.h.

Referenced by HepMC::convert_units(), event_selection(), main(), pythia_in_out(), pythia_out(), pythia_particle_out(), HepMC::detail::read_units(), and writePythiaStreamIO().

bool HepMC::GenEvent::valid_beam_particles (  )  const

test to see if we have two valid beam particles

Examples:
testMass.cc.in.

Definition at line 570 of file GenEvent.cc.

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

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

begin vertex iteration

Definition at line 416 of file GenEvent.h.

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

begin vertex iteration

Examples:
example_UsingIterators.cc, and testHepMCIteration.cc.in.

Definition at line 353 of file GenEvent.h.

Referenced by HepMC::compareVertices(), GenEvent(), main(), swap(), write(), and HepMC::IO_HEPEVT::write_event().

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

return true if there are no vertex barcodes

Definition at line 811 of file GenEvent.h.

Referenced by delete_all_vertices(), and is_valid().

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

end vertex iteration

Definition at line 420 of file GenEvent.h.

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

end vertex iteration

Examples:
example_UsingIterators.cc, and testHepMCIteration.cc.in.

Definition at line 357 of file GenEvent.h.

Referenced by HepMC::compareVertices(), GenEvent(), main(), print(), swap(), write(), and HepMC::IO_HEPEVT::write_event().

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

how many vertex barcodes exist?

Examples:
testMultipleCopies.cc.in.

Definition at line 808 of file GenEvent.h.

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

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

direct access to WeightContainer

Definition at line 673 of file GenEvent.h.

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 671 of file GenEvent.h.

Referenced by HepMC::compareWeights(), GenEvent(), print(), read(), write(), and HepMC::IO_AsciiParticles::write_event().

std::ostream & HepMC::GenEvent::write ( std::ostream &   ) 

Examples:
example_PythiaStreamIO.cc, and testStreamIO.cc.in.

Definition at line 72 of file GenEventStreamIO.cc.

References alphaQCD(), alphaQED(), beam_particles(), HepMC::WeightContainer::end(), event_number(), event_scale(), HepMC::StreamInfo::finished_first_event(), HepMC::get_stream_info(), heavy_ion(), length_unit(), momentum_unit(), mpi(), HepMC::Units::name(), HepMC::detail::output(), pdf_info(), HepMC::StreamInfo::set_finished_first_event(), signal_process_id(), signal_process_vertex(), HepMC::WeightContainer::size(), v, vertices_begin(), vertices_end(), vertices_size(), weights(), and HepMC::GenCrossSection::write().

Referenced by HepMC::operator<<(), and readPythiaStreamIO().

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

If the cross section is defined, write the cross section information to an output stream. If the output stream is not defined, use std::cout.

Examples:
testHepMC.cc.in.

Definition at line 607 of file GenEvent.cc.

References HepMC::GenCrossSection::cross_section(), cross_section(), and HepMC::GenCrossSection::cross_section_error().

Referenced by print().

void HepMC::GenEvent::write_units ( std::ostream &  os = std::cout  )  const

Write the unit information to an output stream. If the output stream is not defined, use std::cout.

Examples:
testHepMC.cc.in, and testStreamIO.cc.in.

Definition at line 601 of file GenEvent.cc.

References length_unit(), momentum_unit(), and HepMC::Units::name().

Referenced by print().


Friends And Related Function Documentation

friend class GenParticle [friend]

Definition at line 151 of file GenEvent.h.

Referenced by GenEvent().

friend class GenVertex [friend]

Definition at line 152 of file GenEvent.h.

Referenced by GenEvent(), and read().

friend class particle_const_iterator [friend]

Definition at line 481 of file GenEvent.h.

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

friend class particle_iterator [friend]

Definition at line 539 of file GenEvent.h.

friend class vertex_const_iterator [friend]

Definition at line 351 of file GenEvent.h.

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

friend class vertex_iterator [friend]

Definition at line 414 of file GenEvent.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 7 13:10:18 2010 for HepMC by  doxygen 1.4.7