Downloading, building, and running Digisim - Marlin/C++ version
Introduction
The following documentation provides instructions on how to download, build, and run Digisim within
the Marlin framework. These instructions were tested on Fedora Core Linux, using the BASH shell, and gcc 3.3.2. Installation
under different environments may vary slightly, and if you try to use DigiSim in another environment,
we would like to hear about your experience, good or bad.
Obtaining and Building Package Dependencies
The C++ version of Digisim has the following dependencies, and the following versions were used in this
implementation:
- LCIO, v01-07. For instructions on obtaining and installing LCIO, click
here.
- Marlin, v00-09-05. See instructions below.
Marlin has the following required dependencies:
- CLHEP v1.8.2 or newer. For instructions on
obtaining and installing CLHEP, click here.
- GEAR v00-002. For instructions on obtaining and installing GEAR,
click here.
And Marlin also has the following optional dependencies:
To obtain Marlin from the Calice CVS software repository, one needs to use
a speficic version of ccvssh. To obtain this specific version go to the Calice Software
Repository homepage, and where it says 'With the release of cvs....should use this download.', and click on
download. Or, if you don't want to do all of that, just click here.
To build ccvssh, first unpack the tarball in your working area:
- gtar -zxvf ccvssh-0.9.1-mod.tgz
Next, change into the ccvssh-0.9.1-mod directory, run the configure script, and then gmake:
- cd ccvssh-0.9.1-mod
- ./configure
- gmake
Once the compilation is complete, the ccvssh binary is in the ccvssh-0.9.1-mod/src directory. It's best
to copy this binary to $HOME/bin and add $HOME/bin to your $PATH environment variable.
Next obtain, Marlin from anonymous Calice CVS access:
- export CVS_RSH=ccvssh
- export CVSROOT=:ext:anonymous@cvssrv.ifh.de:/marlin
- ccvssh login (prompted for password: should be blank)
- cvs co -r v00-09-05 Marlin
Change into the Marlin directory, edit the script env.sh and modify the following variables to reflect your
installation:
- export LCIO=/path/to/your/lcio/v01-07
- export CLHEP=/path/to/your/CLHEP/1.8.2
- export GEAR=/path/to/your/gear/v00-02
Optional:If you wish to use AIDA with Marlin, modify the following environment variables to reflect
your installation and uncomment the bottom two lines:
- export JDK_HOME=/path/to/your/1.4.2
- export JAIDA_HOME=/path/to/your/JAIDA/3.2.3
- export AIDAJNI_HOME=/path/to/your/AIDAJNI/3.2.3
- . $JAIDA_HOME/bin/aida-setup.sh
- . $AIDAJNI_HOME/bin/Linux-g++/aidajni-setup.sh
Next, source the env.sh, and build the source:
- . ./env.sh
- gmake -C ./src
Obtaining and Building DigiSim
Now that the dependencies are in place, we can build DigiSim. First, obtain DigiSim from the official Calice CVS
repository:
- export CVS_RSH=ccvssh
- export CVSROOT=:ext:anonymous@cvssrv.ifh.de:/calice
- ccvssh login (prompted for password: should be blank)
- cvs co -d digisim calice_sim/digitization/digisim
Next, build the software:
Running Digisim C++/Marlin
To run digisim from the top level directory use:
- ./bin/digisim your_file.steer
Where your_file.steer is the name of your steering file. To specify the data file you want to run DigiSim on,
there are two options. The first is to create a symbolic link to the data file you want to work with:
- ln -s /path/to/your/data.slcio inputfile
This option can be handy when one wants to a quick run of one steering file against different data samples. The second
option is to edit the steering file itself.
Last update:08/31/06, rmcintos@nicadd.niu.edu.