|
||||||
AIDAJNI 3.2.3 Release NotesRelease Notes Version: : 1.2 $. The most recent version of this file is 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. Contents
AIDA ComplianceThis adapter connects AIDA-C++ to AIDA-JNI. It almost fully supports the AIDA standard. The C++ and Java side are both AIDA 3.2.1 compliant (for usage in Geant 4.6.x). Supported PlatformsBinaries are available and supported for the following combinations of architectures and compilers:
Major changes in AIDAJNI 3.2.3Bug
For a full list of changes in AIDAJNI 3.2.3 see the
AIDAJNI
change log. DocumentationThese 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: LicenseAIDAJNI 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 AIDAJNIDownload and install a Java AIDA Implementation which supports AIDA 3.2.1, 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-version containing license and release notes AIDAJNI-version/bin containing platform specific directories with setup scripts AIDAJNI-version/examples containing examples AIDAJNI-version/include containing all necessary include files AIDAJNI-version/lib containing platform specific directories with libraries (shareable and static) CompilationThe current distributions do not contain source files. To (re-)build AIDAJNI for a particular platform you need to get AIDAJNI-3.2.3-src.zip or .tar.gz file from the ftp://ftp.slac.stanford.edu/software/freehep/AIDAJNI/v3.2.3/ directory. Follow the instructions in README-src.html contained in that distribution. Building an Application with AIDAJNISet the environment variable AIDAJNI_HOME to your unpacked AIDAJNI distribution. Make sure JDK_HOME is set to your Java Development Kit (1.4 or better), and source the system specific aidajni-setup file (.sh/.csh fro Unix, .bat for Windows, .win32 for Cygwin). Example for Linux-g++, using tcsh: setenv AIDAJNI_HOME /users/tom/AIDAJNI-3.2.3 setenv JDK_HOME /users/tom/j2sdk1.4.1 source /bin/Linux-g++/aidajni-setup.csh Now you are able to execute the aida-config utility: aida-config --version will display the version you installed. aida-config --include will display the include options for your compiler. aida-config --lib will display the library link options for your linker. To compile (example for Linux-g++): g++ -c `aida-config --include` YourApplication.cc g++ YourApplication.o `aida-config --lib` Running an Application with AIDAJNIOnce you have run the aidajni-setup script successfully you can just execute your application. Using AIDAJNI from Geant4For Geant4 version 4.5.x use AIDAJNI 3.0.4 and its Geant4 overlay product. See ReleaseNotes of version 3.0.4. For Geant4 version 4.6.x the fixes to the A01 example and the overlay are included in the Geant4 release. One only needs to install JAIDA and AIDAJNI as described above. IMPORTANT: Make sure you do not link in OPENGL libraries since they pre-load libXt.so, which will make the JavaVM crash when it tries to open its first Window/Frame. This does NOT apply to the Windows Operating System of course. This bug was reported to Sun Microsystems as early as JDK 1.3.1, and has not been fixed for JDK 1.5. Bugnumber 4638291 Features/Limitations of the Current ReleaseThe following limitations exist:
Reporting BugsFor discussion of features or problems related to AIDAJNI please use the AIDA forum. To report bugs or request enhancements you can also use the AIDAJNI bug database. ExamplesThe AIDJNI/examples directory contains AidaTest.cc which serves as a small test as well as an example. The subdirectories g++, CC and VC contain build scripts to compile and link AidaTest.cc into an executable. JAIDA and AIDAJNI must have been set up before running the build script. The standard AIDATest package in C++ is used to test the AIDAJNI adapter. Some minor tweaks are being made to the tests and the JAIDA implementation so that all of them will pass, but we believe the AIDAJNI does not have major errors in it.                                                                                                                                                                                                                 |