You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Java to ROOT Interface (M. Lynch, M. Stanitzki, J. Strube)

Introduction

This provides a Java interface to a limited subset of ROOT. The code for this is currently stored on the SVN server (https://heplnm060.pp.rl.ac.uk/repos/javaROOT/tags/0.1.0).

This has been tested on

  • Scientific Linux Fermi version 4.4, GCC version 3.4.6, Java version 1.6.0.13, ROOT version 5.24 and SWIG version 1.3.39.
  • Windows XP SP3, Microsoft C++ Compiler version 15.00.30729.01, MinGW 5.1.4, Java version 1.6.0.14, ROOT version 5.24 and SWIG version 1.3.40.
  • OpenSuse 10.2 GCC 4.3.2 Java version 1.6.0.13, ROOT version 5.22 and SWIG version 1.3.36.

The libraries are built using a set of makefiles. (On Windows, these are executed using the MinGW port of GNU make, mingw32-make.)

There are a set of example programs demonstrating the available functionality in ./Examples/. These are also built when the main libraries are built with "make all".

There are also a series of tests in ./Tests/ to check that certain basic ROOT functions work correctly on your platform. These are built and run using ./make Tests.

The Java libraries integrate well with Eclipse, with auto-complete working out of the box.

Using the libraries (Linux)

  1. Setup the ROOT environment by running $ROOT_SYS/bin/thisroot.sh.
  2. Cd to the javaROOT directory.
  3. Run make all.
  4. Tell the linker where to find the new shared objects. E.g. if running the example "C++", calling export LD_LIBRARY_PATH:$LD_LIBRARY_PATH:. is necessary for the program to run.
  5. Running the Java programs requires the classpath to be set approriately, e.g. java -cp ../../jar/javaROOT.jar:../../jar/freehep-physics-2.1.jar:. Test.
  6. If there are any problems with network exceptions on the LCSIM example, it is due to proxy servers: set these when Java is run by adding -Dhttp.proxyHost=<hostname> -Dhttp.proxyPort=<hostport> in the call to Java.

Using the libraries (Windows)

  1. Ensure the %ROOT_SYS% and %JDK_HOME% environment variables are set (go to System Properties (WinKey+Break), Advanced, Environment Variables) to the root folders of ROOT and the JDK respectively.
  2. Run a Visual Studio Command Prompt.
  3. Cd to the javaROOT root folder.
  4. Run mingw32-make all.
  5. Running the Java programs requires the classpath to be set approriately, e.g. java -cp ../../jar/javaROOT.jar:../../jar/freehep-physics-2.1.jar:. Test.
  6. If there are any problems with network exceptions on the LCSIM example, it is due to proxy servers: set these when Java is run by adding-Dhttp.proxyHost=<hostname> -Dhttp.proxyPort=<hostport> in the call to Java.
  • No labels