Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Prerequisites

To build the org.lcsim software, you should have the following installed.

Tip
titleWindows CVS Software
  • cvs, command-line program
  • Tortoise CVS, graphical CVS client with Explorer integration

SLAC Unix Tools

The tools above , with the exception of Netbeans, are all
pre-installed on SLAC Unix.

Just issue the command:

No Format
setenv JAVAVER 1.5

to make sure you get the correct Java version.

Building org.lcsim software

The lcsim software consists of two packages, a geometry package,
and the analysis and reconstruction package. You must obtain and
build the geometry package first, since the analysis package
depends on it.

Here are condensed instructions, which you can execute from
the Linux or Cygwin bash shell.

No Format
export CVSROOT=:pserver:anonymous@cvs.freehep.org:/cvs/lcd
cvs login (just hit enter when prompted for password)
cvs co GeomConverter
cvs co lcsim
cd GeomConverter
maven
cd ../lcsim
maven

Keeping the Release Current

Oftentimes new directories are added in a new release. In order
to make sure that cvs adds those, please use the command

No Format
cvs update -PdA

which will

P: prune empty directories
d: create directories
A: reset sticky tags

No Format
man cvs

will give more information on the cvs program.

Installing Custom JARs into JAS3

Developers of org.lcsim may want to use a version in JAS3 that is more up-to-date
than the distributed plugin.

Execute the following from the lcsim checkout directory to install the lcsim target
JAR into the JAS3 extensions directory, overwriting the JAR that was automatically
downloaded.

No Format
maven jas:install

This will copy the lcsim and GeomConverter jars to ~/.JAS3/extensions.

Testing the installation

Note
titleTest Directory

By default, maven will also run the JUnit tests associated with this distribution.
Test reports are written to

No Format
target/test-reports/

If you wish to build without testing, issue the following command:

No Format
maven -Dmaven.test.skip=true

To execute a single test case, e.g. for org.lcsim.recon.cluster.fixedcone.FixedConeClusterer:

No Format
maven test:single -Dtestcase=org.lcsim.recon.cluster.fixedcone.FixedConeClustererTest
Tip
titleAdditional Component Tests

There are also other component tests for many of the org.lcsim classes. Until they can be ported
to the JUnit structure they need to be manually executed. Do so with the following ant target:

No Format
ant -f ctest.xml

Running Classes from the Command Line

We have defined a Maven goal that allows users to run a Java class in the project from the command line
using the freehep-run-plugin.

For example:

No Format
 maven run -Drun.class="org.lcsim.geometry.compact.converter.heprep.Main" -Dargs="test/org/lcsim/geometry/compact/sdjan03_compact.xml tst.heprep"

The above command run the Main class to convert the given compact description to a HepRep.

Compiler Warnings

By default, compiler warnings about deprecation and unchecked method or class usages are turned off.

To turn on these warnings, remove the "#" from these two lines in lcsim/project.properties

No Format
#maven.compile.deprecation=on
#maven.compile.compilerargs=-Xlint:unchecked

Now you should see lots of warning messages, which will effect both Netbeans and command-line builds.

To customize Netbeans, only, you can change how the Netbeans Build Mapping works.

Right-click on the org.lcsim project and select "Properties". Now double-click on "Goal to IDE Mappings". Where it says "Build", you should see "jar:install".

To see all warnings, change the Build line to this:

No Format
jar:install -Dmaven.compile.deprecation=on -Dmaven.compile.compilerargs=-Xlint:unchecked

This should have the same effect as changing the project.properties file, but command-line builds using maven only will unaffected.