HepMC Reference Documentation

HepMC

HepMC Namespace Reference


Classes

class  Flow
 The flow object. More...
class  GenCrossSection
 The GenCrossSection class stores the generated cross section. More...
class  GenEvent
 The GenEvent class is the core of HepMC. More...
class  GenParticle
 The GenParticle class contains information about generated particles. More...
class  GenVertex
 GenVertex contains information about decay vertices. More...
class  HeavyIon
 The HeavyIon class stores information about heavy ions. More...
class  HEPEVT_Wrapper
 Generic Wrapper for the fortran HEPEVT common block. More...
class  IO_AsciiParticles
 event input/output in ascii format for eye and machine reading More...
class  IO_BaseClass
 all input/output classes inherit from IO_BaseClass More...
class  IO_Exception
 IO exception handling. More...
class  IO_GenEvent
 IO_GenEvent also deals with HeavyIon and PdfInfo. More...
class  IO_HEPEVT
 HEPEVT IO class. More...
class  IO_HERWIG
 IO_HERWIG is used to get Herwig information. More...
class  IO_PDG_ParticleDataTable
 an example ParticleDataTable IO method More...
class  ParticleData
 an example ParticleData class More...
class  ParticleDataTable
 an example ParticleDataTable class More...
class  PdfInfo
 The PdfInfo class stores PDF information. More...
class  Polarization
 The Polarization class stores theta and phi for a GenParticle. More...
class  FourVector
 FourVector is a simple representation of a physics 4 vector. More...
class  ThreeVector
 ThreeVector is a simple representation of a position or displacement 3 vector. More...
class  StreamInfo
 StreamInfo contains extra information needed when using streaming IO. More...
class  TempParticleMap
 TempParticleMap is a temporary GenParticle* container used during input. More...
class  WeightContainer
 Container for the Weights associated with an event or vertex. More...

Namespaces

namespace  detail
namespace  Units

Enumerations

enum  IteratorRange {
  parents, children, family, ancestors,
  descendants, relatives
}
 type of iteration More...
enum  known_io {
  gen = 1, ascii, extascii, ascii_pdt,
  extascii_pdt
}
 The known_io enum is used to track which type of input is being read. More...

Functions

bool compareGenEvent (GenEvent *, GenEvent *)
bool compareSignalProcessVertex (GenEvent *, GenEvent *)
bool compareBeamParticles (GenEvent *, GenEvent *)
bool compareWeights (GenEvent *, GenEvent *)
bool compareVertices (GenEvent *, GenEvent *)
bool compareParticles (GenEvent *, GenEvent *)
bool compareVertex (GenVertex *v1, GenVertex *v2)
std::ostream & operator<< (std::ostream &os, GenCrossSection &xs)
std::istream & operator>> (std::istream &is, GenCrossSection &xs)
template<class InputIterator, class OutputIterator, class Predicate>
void copy_if (InputIterator first, InputIterator last, OutputIterator out, Predicate pred)
 define the type of iterator to use
std::ostream & operator<< (std::ostream &, GenEvent &)
 standard streaming IO output operator
std::istream & operator>> (std::istream &, GenEvent &)
 standard streaming IO input operator
std::istream & set_input_units (std::istream &, Units::MomentumUnit, Units::LengthUnit)
 set the units for this input stream
std::ostream & write_HepMC_IO_block_begin (std::ostream &)
 Explicitly write the begin block lines that IO_GenEvent uses.
std::ostream & write_HepMC_IO_block_end (std::ostream &)
 Explicitly write the end block line that IO_GenEvent uses.
GenEventconvert_units (GenEvent &evt, Units::MomentumUnit m, Units::LengthUnit l)
std::ostream & operator<< (std::ostream &, HeavyIon const *)
 Write the contents of HeavyIon to an output stream.
std::istream & operator>> (std::istream &, HeavyIon *)
 Read the contents of HeavyIon from an input stream.
double clifetime_from_width (double width)
 set lifetime from width
std::ostream & operator<< (std::ostream &, PdfInfo const *)
std::istream & operator>> (std::istream &, PdfInfo *)
bool not_in_vector (std::vector< HepMC::GenParticle * > *, GenParticle *)
 returns true if it cannot find GenParticle* in the vector
std::vector< HepMC::GenParticle
* >::iterator 
already_in_vector (std::vector< GenParticle * > *v, GenParticle *p)
 returns true if GenParticle is in the vector
void version ()
 print HepMC version
void writeVersion (std::ostream &os)
 write HepMC version to os
std::string versionName ()
 return HepMC version
std::ostream & operator<< (std::ostream &ostr, const Flow &f)
 for printing
void HepMCStreamCallback (std::ios_base::event e, std::ios_base &b, int i)
template<class IO>
StreamInfoget_stream_info (IO &iost)
std::ostream & establish_output_stream_info (std::ostream &os)
 used by IO_GenEvent constructor
std::istream & establish_input_stream_info (std::istream &is)
 used by IO_GenEvent constructor
std::ostream & operator<< (std::ostream &ostr, const GenParticle &part)
 print particle
std::ostream & operator<< (std::ostream &ostr, const GenVertex &vtx)
 print vertex information
std::ostream & operator<< (std::ostream &ostr, const ParticleData &pdata)
 write to ostr
std::ostream & operator<< (std::ostream &ostr, const Polarization &polar)
 print polarization information

Variables

static const double HepMC_hbarc
 hbar * c --> calculated with units of [mm*GeV]
static const double HepMC_pi = 3.14159265358979323846


Detailed Description

All classes in the HepMC packages are in the HepMC namespace


Enumeration Type Documentation

enum HepMC::IteratorRange

type of iteration

Enumerator:
parents 
children 
family 
ancestors 
descendants 
relatives 

Definition at line 35 of file GenVertex.h.

enum HepMC::known_io

The known_io enum is used to track which type of input is being read.

Enumerator:
gen 
ascii 
extascii 
ascii_pdt 
extascii_pdt 

Definition at line 17 of file StreamInfo.h.


Function Documentation

bool HepMC::compareGenEvent ( GenEvent *  ,
GenEvent *   
)

Examples:
testHerwigCopies.cc, testMultipleCopies.cc.in, and testPythiaCopies.cc.

Definition at line 16 of file CompareGenEvent.cc.

References HepMC::GenEvent::alphaQCD(), HepMC::GenEvent::alphaQED(), compareBeamParticles(), compareParticles(), compareSignalProcessVertex(), compareVertices(), compareWeights(), HepMC::GenEvent::event_number(), HepMC::GenEvent::event_scale(), HepMC::GenEvent::heavy_ion(), HepMC::GenEvent::mpi(), HepMC::GenEvent::pdf_info(), HepMC::GenEvent::random_states(), and HepMC::GenEvent::signal_process_id().

Referenced by main().

bool HepMC::compareSignalProcessVertex ( GenEvent *  ,
GenEvent *   
)

Definition at line 64 of file CompareGenEvent.cc.

References HepMC::GenEvent::signal_process_vertex().

Referenced by compareGenEvent().

bool HepMC::compareBeamParticles ( GenEvent *  ,
GenEvent *   
)

Definition at line 77 of file CompareGenEvent.cc.

References HepMC::GenEvent::beam_particles().

Referenced by compareGenEvent().

bool HepMC::compareWeights ( GenEvent *  ,
GenEvent *   
)

Definition at line 92 of file CompareGenEvent.cc.

References HepMC::WeightContainer::size(), and HepMC::GenEvent::weights().

Referenced by compareGenEvent().

bool HepMC::compareVertices ( GenEvent *  ,
GenEvent *   
)

Definition at line 131 of file CompareGenEvent.cc.

References HepMC::GenEvent::barcode_to_vertex(), compareVertex(), v, HepMC::GenEvent::vertices_begin(), HepMC::GenEvent::vertices_end(), and HepMC::GenEvent::vertices_size().

Referenced by compareGenEvent().

bool HepMC::compareParticles ( GenEvent *  ,
GenEvent *   
)

Definition at line 109 of file CompareGenEvent.cc.

References HepMC::GenEvent::particles_begin(), HepMC::GenEvent::particles_end(), and HepMC::GenEvent::particles_size().

Referenced by compareGenEvent().

bool HepMC::compareVertex ( GenVertex *  v1,
GenVertex *  v2 
)

Definition at line 152 of file CompareGenEvent.cc.

References HepMC::GenVertex::barcode(), HepMC::GenVertex::particles_in_const_begin(), HepMC::GenVertex::particles_in_const_end(), HepMC::GenVertex::particles_in_size(), HepMC::GenVertex::particles_out_const_begin(), HepMC::GenVertex::particles_out_const_end(), HepMC::GenVertex::particles_out_size(), and HepMC::GenVertex::position().

Referenced by compareVertices().

std::ostream& HepMC::operator<< ( std::ostream &  os,
GenCrossSection &  xs 
) [inline]

Definition at line 89 of file GenCrossSection.h.

References HepMC::GenCrossSection::write().

std::istream& HepMC::operator>> ( std::istream &  is,
GenCrossSection &  xs 
) [inline]

Definition at line 92 of file GenCrossSection.h.

References HepMC::GenCrossSection::read().

template<class InputIterator, class OutputIterator, class Predicate>
void HepMC::copy_if ( InputIterator  first,
InputIterator  last,
OutputIterator  out,
Predicate  pred 
)

define the type of iterator to use

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

Definition at line 50 of file GenEvent.h.

Referenced by main().

std::ostream & HepMC::operator<< ( std::ostream &  ,
GenEvent &   
)

standard streaming IO output operator

Writes evt to an output stream.

Definition at line 342 of file GenEventStreamIO.cc.

References HepMC::GenEvent::write().

std::istream & HepMC::operator>> ( std::istream &  ,
GenEvent &   
)

standard streaming IO input operator

Definition at line 349 of file GenEventStreamIO.cc.

References HepMC::GenEvent::read().

std::istream & HepMC::set_input_units ( std::istream &  ,
Units::MomentumUnit  ,
Units::LengthUnit   
)

set the units for this input stream

Examples:
testStreamIO.cc.in.

Definition at line 357 of file GenEventStreamIO.cc.

References get_stream_info(), and HepMC::StreamInfo::use_input_units().

Referenced by HepMC::IO_GenEvent::use_input_units().

std::ostream & HepMC::write_HepMC_IO_block_begin ( std::ostream &   ) 

Explicitly write the begin block lines that IO_GenEvent uses.

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

Definition at line 369 of file GenEventStreamIO.cc.

References HepMC::StreamInfo::finished_first_event(), get_stream_info(), HepMC::StreamInfo::IO_GenEvent_Key(), and versionName().

Referenced by readPythiaStreamIO(), HepMC::IO_GenEvent::write_event(), and writePythiaStreamIO().

std::ostream & HepMC::write_HepMC_IO_block_end ( std::ostream &   ) 

Explicitly write the end block line that IO_GenEvent uses.

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

Definition at line 382 of file GenEventStreamIO.cc.

References HepMC::StreamInfo::finished_first_event(), get_stream_info(), and HepMC::StreamInfo::IO_GenEvent_End().

Referenced by readPythiaStreamIO(), HepMC::IO_GenEvent::write_comment(), writePythiaStreamIO(), and HepMC::IO_GenEvent::~IO_GenEvent().

GenEvent& HepMC::convert_units ( GenEvent &  evt,
Units::MomentumUnit  m,
Units::LengthUnit  l 
) [inline]

Definition at line 637 of file GenEvent.h.

References HepMC::GenEvent::use_units().

std::ostream & HepMC::operator<< ( std::ostream &  os,
HeavyIon const *  ion 
)

Write the contents of HeavyIon to an output stream.

Write the contents of HeavyIon to an output stream. GenEvent stores a pointer to a HeavyIon.

Definition at line 23 of file HeavyIon.cc.

References HepMC::HeavyIon::eccentricity(), HepMC::HeavyIon::event_plane_angle(), HepMC::HeavyIon::impact_parameter(), HepMC::HeavyIon::N_Nwounded_collisions(), HepMC::HeavyIon::Ncoll(), HepMC::HeavyIon::Ncoll_hard(), HepMC::HeavyIon::Npart_proj(), HepMC::HeavyIon::Npart_targ(), HepMC::HeavyIon::Nwounded_N_collisions(), HepMC::HeavyIon::Nwounded_Nwounded_collisions(), HepMC::detail::output(), HepMC::HeavyIon::sigma_inel_NN(), HepMC::HeavyIon::spectator_neutrons(), and HepMC::HeavyIon::spectator_protons().

std::istream & HepMC::operator>> ( std::istream &  is,
HeavyIon *  ion 
)

Read the contents of HeavyIon from an input stream.

Read the contents of HeavyIon from an input stream. GenEvent stores a pointer to a HeavyIon.

Definition at line 71 of file HeavyIon.cc.

References HepMC::HeavyIon::set_eccentricity(), HepMC::HeavyIon::set_event_plane_angle(), HepMC::HeavyIon::set_impact_parameter(), HepMC::HeavyIon::set_N_Nwounded_collisions(), HepMC::HeavyIon::set_Ncoll(), HepMC::HeavyIon::set_Ncoll_hard(), HepMC::HeavyIon::set_Npart_proj(), HepMC::HeavyIon::set_Npart_targ(), HepMC::HeavyIon::set_Nwounded_N_collisions(), HepMC::HeavyIon::set_Nwounded_Nwounded_collisions(), HepMC::HeavyIon::set_sigma_inel_NN(), HepMC::HeavyIon::set_spectator_neutrons(), and HepMC::HeavyIon::set_spectator_protons().

double HepMC::clifetime_from_width ( double  width  ) 

set lifetime from width

if you want to instantiate the particle lifetime from its width, use this static method inside the constructor:

Examples:
example_BuildEventFromScratch.cc.

Definition at line 110 of file ParticleData.cc.

References HepMC_hbarc.

Referenced by main(), and HepMC::IO_PDG_ParticleDataTable::read_entry().

std::ostream & HepMC::operator<< ( std::ostream &  ,
PdfInfo const *   
)

Definition at line 21 of file PdfInfo.cc.

References HepMC::PdfInfo::id1(), HepMC::PdfInfo::id2(), HepMC::detail::output(), HepMC::PdfInfo::pdf1(), HepMC::PdfInfo::pdf2(), HepMC::PdfInfo::pdf_id1(), HepMC::PdfInfo::pdf_id2(), HepMC::PdfInfo::scalePDF(), HepMC::PdfInfo::x1(), and HepMC::PdfInfo::x2().

std::istream & HepMC::operator>> ( std::istream &  ,
PdfInfo *   
)

Definition at line 59 of file PdfInfo.cc.

References HepMC::PdfInfo::set_id1(), HepMC::PdfInfo::set_id2(), HepMC::PdfInfo::set_pdf1(), HepMC::PdfInfo::set_pdf2(), HepMC::PdfInfo::set_pdf_id1(), HepMC::PdfInfo::set_pdf_id2(), HepMC::PdfInfo::set_scalePDF(), HepMC::PdfInfo::set_x1(), and HepMC::PdfInfo::set_x2().

bool HepMC::not_in_vector ( std::vector< HepMC::GenParticle * > *  ,
GenParticle *   
)

returns true if it cannot find GenParticle* in the vector

Definition at line 11 of file SearchVector.cc.

References already_in_vector(), and p.

Referenced by HepMC::Flow::connected_partners(), and HepMC::Flow::dangling_connected_partners().

std::vector< HepMC::GenParticle * >::iterator HepMC::already_in_vector ( std::vector< HepMC::GenParticle * > *  ,
GenParticle *   
)

returns true if GenParticle is in the vector

Returns the index of a GenParticle* within a vector. Returns -1 if GenParticle* is not in the vector.

Definition at line 18 of file SearchVector.cc.

References p.

Referenced by not_in_vector(), HepMC::GenVertex::remove_particle_in(), and HepMC::GenVertex::remove_particle_out().

void HepMC::version (  )  [inline]

print HepMC version

Examples:
testMass.cc.in.

Definition at line 27 of file Version.h.

References versionName().

void HepMC::writeVersion ( std::ostream &  os  )  [inline]

write HepMC version to os

Definition at line 33 of file Version.h.

References versionName().

Referenced by HepMC::GenEvent::print_version().

std::string HepMC::versionName (  )  [inline]

return HepMC version

Definition at line 22 of file Version.h.

References HEPMC_VERSION.

Referenced by version(), HepMC::IO_AsciiParticles::write_event(), write_HepMC_IO_block_begin(), and writeVersion().

std::ostream& HepMC::operator<< ( std::ostream &  ostr,
const Flow &  f 
)

for printing

Definition at line 190 of file Flow.cc.

References HepMC::Flow::m_icode.

void HepMC::HepMCStreamCallback ( std::ios_base::event  e,
std::ios_base &  b,
int  i 
)

This method is called by the stream destructor. It does cleanup on stored user data (StreamInfo) and is registered by the first call to get_stream_info().

Definition at line 29 of file GenEventStreamIO.cc.

References HepMC::StreamInfo::stream_id().

Referenced by get_stream_info().

template<class IO>
StreamInfo& HepMC::get_stream_info ( IO &  iost  ) 

A custom iomanip that allows us to store and access user data (StreamInfo) associated with the stream. This method creates the StreamInfo object the first time it is called.

Definition at line 51 of file GenEventStreamIO.cc.

References HepMCStreamCallback().

Referenced by HepMC::detail::establish_input_stream_info(), establish_input_stream_info(), HepMC::detail::establish_output_stream_info(), establish_output_stream_info(), HepMC::GenEvent::read(), HepMC::detail::read_particle(), HepMC::detail::read_units(), set_input_units(), HepMC::GenEvent::write(), write_HepMC_IO_block_begin(), and write_HepMC_IO_block_end().

std::ostream& HepMC::establish_output_stream_info ( std::ostream &  os  ) 

used by IO_GenEvent constructor

Definition at line 506 of file GenEventStreamIO.cc.

References HepMC::StreamInfo::finished_first_event(), and get_stream_info().

Referenced by HepMC::IO_GenEvent::IO_GenEvent().

std::istream& HepMC::establish_input_stream_info ( std::istream &  is  ) 

used by IO_GenEvent constructor

Definition at line 520 of file GenEventStreamIO.cc.

References HepMC::StreamInfo::finished_first_event(), and get_stream_info().

Referenced by HepMC::IO_GenEvent::IO_GenEvent().

std::ostream& HepMC::operator<< ( std::ostream &  ostr,
const GenParticle &  part 
)

print particle

Definition at line 189 of file GenParticle.cc.

References HepMC::GenVertex::barcode(), HepMC::GenParticle::barcode(), HepMC::FourVector::e(), HepMC::GenParticle::end_vertex(), HepMC::GenParticle::momentum(), HepMC::GenParticle::pdg_id(), HepMC::FourVector::px(), HepMC::FourVector::py(), HepMC::FourVector::pz(), and HepMC::GenParticle::status().

std::ostream& HepMC::operator<< ( std::ostream &  ostr,
const GenVertex &  vtx 
)

print vertex information

Definition at line 440 of file GenVertex.cc.

References HepMC::GenVertex::barcode(), HepMC::GenVertex::position(), and HepMC::FourVector::x().

std::ostream& HepMC::operator<< ( std::ostream &  ostr,
const ParticleData &  pdata 
)

write to ostr

Definition at line 94 of file ParticleData.cc.

References HepMC::ParticleData::charge(), HepMC::ParticleData::clifetime(), HepMC::ParticleData::mass(), HepMC::ParticleData::name(), HepMC::ParticleData::pdg_id(), and HepMC::ParticleData::spin().

std::ostream& HepMC::operator<< ( std::ostream &  ostr,
const Polarization &  polar 
)

print polarization information

Definition at line 107 of file Polarization.cc.

References HepMC::Polarization::phi(), and HepMC::Polarization::theta().


Variable Documentation

const double HepMC::HepMC_hbarc [static]

Initial value:

 (6.6260755e-34 * (1.e-6/1.60217733e-19) / (2*3.14159265358979323846))
                                        * (2.99792458e+8 * 1000.) * 1.e+3
hbar * c --> calculated with units of [mm*GeV]

Definition at line 56 of file ParticleData.h.

Referenced by clifetime_from_width(), HepMC::ParticleData::set_width(), and HepMC::ParticleData::width().

const double HepMC::HepMC_pi = 3.14159265358979323846 [static]

Definition at line 19 of file Polarization.h.


Generated on Thu Jan 7 13:10:17 2010 for HepMC by  doxygen 1.4.7