HEPREP

HEPREP implementation in C++ and JAVA
HEPREP FreeHEP
Member of FreeHEP Printable Page

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:

  • Windows NT/2000/XP
    • WIN32-VC7: Visual Studio .NET Professional 2003.
      Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
    • WIN32-g++: gcc version 3.3.1 (cygming special)
      Using a cygwin shell.
  • Linux Red Hat Linux 7.2 (Enigma) 2.4.20-30.7.legacysmp (2x1396MHz Intel)
    • Linux-g++2: gcc version 2.95.3 20010315 (release)
  • Linux Red Hat Linux release 9 (Shrike) 2.4.20-31.9 (1x996MHz PIII)
    • Linux-g++: gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
    • Linux-icc: Intel(R) C++ Compiler for 32-bit applications, Version 8.0 Build 20031231Z Package ID: l_cc_pc_8.0.058
  • MacOS X 10.3
    • Darwin-g++: gcc version 3.3 20030304 (Apple Computer, Inc. build 1495)
  • SUN Solaris
    • SUN-CC: CC: Forte Developer 7 C++ 5.4 Patch 111715-13 2003/12/11

Major changes in HEPREP 3.2.3

Improvements

  • HEPREP C++ now separately packaged, including setup scripts for a variety of platforms.
  • FREEHEP-420: Java and C++ writer now use new Identifier for HepRep.xsd.
  • Changed HepRepWriter to be able to write out heprep.properties file.

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:

  • The distribution kits contain some CVS directories and files, please ignore.

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.