HEPREP

HEPREP implementation in C++ and JAVA

HEPREP 2.0.2 Release Notes (NOT YET RELEASED)

Release Notes Version: : 1.1 $.

The most recent version of this file is available here.
Release notes for all versions of HEPREP are available here.

The HEPREP 2 standard, see heprep.freehep.org is implemented in C++ and Java as part of the FreeHEP library.

The C++ version is in use by GEANT4 and other programs, while the Java version is in use by WIRED versions 3 and 4. The Java version of HepRep also implements a converter to convert HepRep version 1 into HepRep version 2.

Contents

HEPREP Standard Compliance

This implementation fully supports the HEPREP 2 standard.

Supported Platforms

Binaries are available and supported for the following combinations of architectures and compilers:

Major changes in HEPREP 3.2.3

Improvements

For a full list of changes in HEPREP 2.0.2 see the HEPREP change log.

Documentation

These release notes list issues specific to the FreeHEP HEPREP implementation of the HEPREP standard. In general all of the HEPREP documentation applies to FreeHEP HEPREP, in particular the following link may be useful:

License

HEPREP is part of the FreeHEP Java Library an "Open Source" library distributed under the terms of the LGPL. If you have questions about the licensing please send a mail to: developers@freehep.org.

Installing HEPREP

Download HEPREP for one or more platforms. These distributions overlay on top of each other, adding support for different architectures. The distribution creates the following directory structure:

HEPREP-version            containing license and release notes
HEPREP-version/bin        containing platform specific directories with setup scripts
HEPREP-version/examples   containing examples
HEPREP-version/include    containing all necessary include files
HEPREP-version/lib        containing platform specific directories with libraries
                           (shareable and static)

Compilation

The current distributions do not contain source files.

To (re-)build HEPREP for a particular platform you need to get HEPREP-2.0.2-src.zip or .tar.gz file from the ftp://ftp.slac.stanford.edu/software/freehep/HEPREP/v2.0.2/ directory.

Follow the instructions in README-HEPREP.html contained in that distribution.

Building an Application with HEPREP

Set the environment variable HEPREP_HOME to your unpacked HEPREP distribution. Source the system specific heprep-setup file (.sh/.csh for Unix, .bat for Windows, .win32 for Cygwin).

Example for Linux-g++, using tcsh:

setenv HEPREP_HOME /users/tom/HEPREP-2.0.2
source /bin/Linux-g++/heprep-setup.csh

Now you are able to execute the heprep-config utility:

heprep-config --version		will display the version you installed.
heprep-config --include 	will display the include options 
                        	for your compiler.
heprep-config --lib 		will display the library link options 
                        	for your linker.

To compile (example for Linux-g++):

g++ -c `heprep-config --include` YourApplication.cc
g++ YourApplication.o `heprep-config --lib`

Running an Application with HEPREP

Once you have run the heprep-setup script successfully you can just execute your application.

Using HEPREP from Geant4

Both the HepRep 1 and HepRep 2 drivers are included in Geant4. See Geant4 for instructions.

Features/Limitations of the Current Release

The following limitations exist:

Reporting Bugs

For discussion of features or problems related to HEPREP please use the HEPREP forum. To report bugs or request enhancements you can also use the Java FreeHEP bug database.

Examples

The HEPREP/examples directory contains HepRepExample.cpp which serves as a small test as well as an example. The MultiWriteTest.cpp shows how to write out .zip files with multiple HepRep events in it.

The subdirectories g++, CC and VC contain build scripts to compile and link both examples into executables. HEPREP must have been set up before running the build script.