The most recent version of this file is available
here.
Release notes for other versions of AIDAJNI are available
here.
AIDAJNI is a C++ adapter of AIDA - Abstract Interfaces for Data Analysis which connects to a Java implementation of AIDA, such as JAIDA.
AIDAJNI allows C++ programmers to use any Java AIDA implementation.
It allows for instance Geant4, written in C++, to create histograms and ntuples in Java and store them in .aida files, which can be analyzed using JAS3 - Java Analysis Studio.
This adapter connects AIDA-C++ to AIDA-JNI. It supports AIDA 3.0 in a very limited way.
Binaries are available and supported for the following combinations of architectures and compilers:
For a full list of changes in AIDAJNI 3.0.3 see the
AIDAJNI
change log.
For a full list of changes in AIDA 3.0 see the
AIDA change
log.
These release notes list issues specific to the AIDAJNI implementation of AIDA. In general all of the AIDA documentation applies to AIDAJNI, in particular the following are useful:
AIDAJNI 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.
Download and install a Java AIDA Implementation which supports AIDA 3.0, for example JAIDA.
Download AIDAJNI 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:
AIDAJNI containing license and example AIDAJNI/include containing all necessary include files AIDAJNI/lib containing platform specific libraries (shareable and static)
The current distributions do not contain source files. To build AIDAJNI for a particular platform you need to get a local copy of the FreeHEP library using CVS and follow the instructions for Building the native part of the library.
For any not-supported platform or compiler you may need to copy and change the system specific files in the freehep/config/sys directory.
In future a source overlay will be made and easier rebuild instructions will be provided.
To build a C++ program with the AIDJNI package set the include directory to AIDAJNI/include and specify AIDAJNI/lib/{yourplatform} as a lib search path. When linking AIDAJNI you need the libraries AIDAJNI, FHJNI and jvm. The latter comes with the Java 2 Standard Development Kit and sits in different directories for different platforms, somewhere relative to JDK_HOME.
In future an aida-config utility will be provided to setup include directories and library search paths.
To run a C++ program with AIDAJNI, you need to point LD_LIBRARY_PATH (on Unix) to AIDJNI/lib/{yourplatform}.
To find the Java Virtual Machine, PATH (on Windows) or LD_LIBRARY_PATH (on Unix) needs to be set to find jvm.dll (on Windows) or libjvm.so and libverify.so (different directories, on Unix).
You also need to set up the CLASSPATH to point to the jar containing the Java AIDA implementation.
In future an aida-config utility will be provided to setup library runtime paths.
JAIDA+AIDAJNI is currently distributed as an overlay product for Geant4 version 4.5.x. Eventually this will be changed and the normal AIDAJNI distribution should be usable. Until then, follow the JAIDA/Geant4 instructions.
This is a fairly limited implementation of AIDA:
For discussion of features or problems related to AIDAJNI please use the AIDA mailing lists. To report bugs or request enhancements you can also use the AIDAJNI bug database.
The AIDJNI directory contains AidaTest.cc which serves as both a test of available functionality as well as an example.
In future the standard AIDATest package (currently under development) will be used to test the AIDAJNI adapter.