![]() |
HepMC Reference DocumentationHepMC |
#include <GenEvent.h>
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 | |
GenEvent & | operator= (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 | |
GenParticle * | barcode_to_particle (int barCode) const |
assign a barcode to a particle | |
GenVertex * | barcode_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 |
GenVertex * | signal_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 |
WeightContainer & | weights () |
direct access to WeightContainer | |
const WeightContainer & | weights () const |
direct access to WeightContainer | |
GenCrossSection const * | cross_section () const |
access the GenCrossSection container if it exists | |
GenCrossSection * | cross_section () |
HeavyIon const * | heavy_ion () const |
access the HeavyIon container if it exists | |
HeavyIon * | heavy_ion () |
PdfInfo const * | pdf_info () const |
access the PdfInfo container if it exists | |
PdfInfo * | pdf_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... |
HepMC::GenEvent contains information about generated particles. GenEvent is structured as a set of vertices which contain the particles.
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.
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() | |||
) |
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 & | ||||
) |
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().
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.
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
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
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
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
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.
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().
make a deep copy
best practices implementation
Definition at line 269 of file GenEvent.cc.
References swap().
particle_iterator HepMC::GenEvent::particles_begin | ( | ) | [inline] |
particle_const_iterator HepMC::GenEvent::particles_begin | ( | ) | const [inline] |
begin particle iteration
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] |
particle_const_iterator HepMC::GenEvent::particles_end | ( | ) | const [inline] |
end particle iteration
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?
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 );
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 & | ) |
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] |
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] |
void HepMC::GenEvent::set_alphaQED | ( | double | a | ) | [inline] |
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
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
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] |
void HepMC::GenEvent::set_heavy_ion | ( | const HeavyIon & | ion | ) | [inline] |
provide a pointer to the HeavyIon container
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.
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
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
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
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
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
Definition at line 570 of file GenEvent.cc.
References p, particles_begin(), and particles_end().
vertex_iterator HepMC::GenEvent::vertices_begin | ( | ) | [inline] |
vertex_const_iterator HepMC::GenEvent::vertices_begin | ( | ) | const [inline] |
begin vertex iteration
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] |
vertex_const_iterator HepMC::GenEvent::vertices_end | ( | ) | const [inline] |
end vertex iteration
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?
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] |
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 & | ) |
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.
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.
Definition at line 601 of file GenEvent.cc.
References length_unit(), momentum_unit(), and HepMC::Units::name().
Referenced by print().
friend class GenParticle [friend] |
friend class GenVertex [friend] |
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.