2.05 - Other Issues

HepMC Savannah ] [ HepMC Homepage ] [ Downloads ]

Proposed Changes ]
Status Codes ] [ Barcodes ] [ Vector Methods ] [ Cross Section ] [ IO Issues ] [ Other Issues ]
User Manual ] [ Doxygen Reference Manual ]

Please use the Savannah support thread sr #106972 for comments.

Numbering Conventions

HepMC GenParticles contain the PDG ID and a status code. These are expected to match the conventions of the PDG numbering scheme and HEPEVT status codes. HepMC PdfInfo contains a set id which is expected to match the conventions of LHAPDF. However, HepMC does not enforce these conventions.

Obsolete Header

HepMC_CLHEP20.h is a courtesy header that was added to allow HepMC to work with CLHEP 2.0.x without changing HepMC. Since HepMC no longer uses CLHEP, this header is unnecessary and will be removed.


This proposed change has not been implemented. The current code reflects best practices and is consistent with, for instance, the standard library implementation of a vector iterator.

HepMC defines particle and vertex iterators, which are inner classes within GenEvent and GenVertex. We propose to move these iterators outside of GenEvent and GenVertex. This will make the code easier to read (more important than it seems at first glance) and easier to parse by some tools, such as SWIG (see bug #35658).

Macro Definitions

ThePeg would like to ask a given version of HepMC which features are available. Appropriate macro #defines have been added to a new header file, HepMCDefs.h, which is included by GenEvent.h.

The existing defs.h header contains generic macros, such as PACKAGE, which can cause confusion if picked up outside of HepMC.

To make this header useful for ThePeg, we plan to add this header to a "bug fix" release of HepMC 2.04.

Sample macro definitions:

// the IO_Ascii class is NOT available in HepMC
// the IO_GenEvent class is available in HepMC

Please use the Savannah support thread sr #106972 for comments.