The best way to get a fast overview of the HepMC event record is to browse the first 3 pages of the user manual (linked above). The abstract is reproduced here:
The HepMC package is an object oriented event record written in C++
for High Energy Physics Monte Carlo Generators. Many extensions
from HEPEVT, the Fortran HEP standard, are supported: the number of
entries is unlimited, spin density matrices can be stored with each
vertex, flow patterns (such as color) can be stored and traced,
integers representing random number generator states can be stored,
and an arbitrary number of event weights can be included. Particles
and vertices are kept separate in a graph structure, physically
similar to a physics event. The added information supports the
modularisation of event generators. The package has been kept as
simple as possible with minimal internal/external dependencies.
Event information is accessed by means of iterators supplied with
Reference: M. Dobbs and J.B. Hansen, Comput. Phys. Commun. 134 (2001) 41.
We recommend using the source code tarballs available on the download page. If you get the source code from svn, you will need to run autotools yourself. Use the bootstrap script in the head directory.
You can simply use the code browser to request a tarball for any given release. Select the "sticky tag" for the release you want at the top of the page, and then click on "Download GNU tarball" at the bottom of the page.