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  GenEventVertexRange
 GenEventVertexRange acts like a collection of vertices. More...
class  ConstGenEventVertexRange
 ConstGenEventVertexRange acts like a collection of vertices. More...
class  GenEventParticleRange
 GenEventParticleRange acts like a collection of particles. More...
class  ConstGenEventParticleRange
 ConstGenEventParticleRange acts like a collection of particles. More...
class  GenVertexParticleRange
 GenVertexParticleRange acts like a collection of particles. More...
class  GenParticleProductionRange
 GenParticleProductionRange acts like a collection of particles. More...
class  ConstGenParticleProductionRange
class  GenParticleEndRange
 GenParticleEndRange acts like a collection of particles. More...
class  ConstGenParticleEndRange
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  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

GenCrossSection getHerwigCrossSection (int ngen)
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.
std::ostream & operator<< (std::ostream &, PdfInfo const *)
std::istream & operator>> (std::istream &, PdfInfo *)
GenCrossSection getPythiaCrossSection ()
 calculate the Pythia cross section and statistical error
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 (std::ostream &os=std::cout)
 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 Polarization &polar)
 print polarization information

Variables

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 17 of file IteratorRange.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

GenCrossSection HepMC::getHerwigCrossSection ( int  ngen  ) 

Examples:
fio/example_MyHerwig.cc, and fio/testHerwigCopies.cc.

Definition at line 24 of file HerwigWrapper.cc.

References hwevnt, and HepMC::GenCrossSection::set_cross_section().

Referenced by main().

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

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

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::GenEvent::weights().

Referenced by compareGenEvent().

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

Definition at line 120 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 98 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 141 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 355 of file GenEventStreamIO.cc.

References HepMC::GenEvent::write().

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

standard streaming IO input operator

Definition at line 362 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 370 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:
fio/example_PythiaStreamIO.cc, and testStreamIO.cc.in.

Definition at line 382 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:
fio/example_PythiaStreamIO.cc, and testStreamIO.cc.in.

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

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(), HepMC::PdfInfo::set_x2(), and x1.

GenCrossSection HepMC::getPythiaCrossSection (  )  [inline]

calculate the Pythia cross section and statistical error

Examples:
example_MyPythiaOnlyToHepMC.cc, fio/example_MyPythia.cc, fio/example_PythiaStreamIO.cc, and fio/testPythiaCopies.cc.

Definition at line 28 of file PythiaWrapper.h.

References pyint5, and HepMC::GenCrossSection::set_cross_section().

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

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 ( std::ostream &  os = std::cout  )  [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(), 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 653 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 667 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 Polarization &  polar 
)

print polarization information

Definition at line 129 of file Polarization.cc.

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


Variable Documentation

const double HepMC::HepMC_pi = 3.14159265358979323846 [static]

Definition at line 19 of file Polarization.h.


Generated on Fri Feb 17 00:31:27 2012 for HepMC by  doxygen 1.4.7