Installation
------------
Prerequisites
`````````````
These software packages should be installed in the order presented before you attempt to build RAT. Take note of the version numbers as many of these packages make incompatible changes between releases.
* `Python 2.7.X with development headers `_ -
- on Scientific Linux -- run the following commands in [InstallDir] where [InstallDir] is the location you are installing python::
# Python 2.7.6:
wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tar xf Python-2.7.6.tar.xz
cd Python-2.7.6
./configure --prefix=[InstallDir]/python --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath=[InstallDir]/python/lib"
make && make altinstall
#you will need to add [InstallDir]/python/Python-2.7.6 to the PATH, this can be done on the command line, or in your .bashrc file
PATH=[InstallDir]/python/Python-2.7.6:$PATH
#you will need to add [InstallDir]/python/lib to the LD_LIBRARY_PATH, this can be done on the command line, or in your .bashrc file
LD_LIBRARY_PATH=[InstallDir]/python/lib:$LD_LIBRARY_PATH
NOTE: The PATH and LD_LIBRARY_PATH will need to be set in this manner whenever you are using rat-pac
- on Ubuntu: . . . . . . ``sudo apt-get install python-dev``
- on SUSE Linux: . . . ``sudo zypper install python-devel``
* `ROOT 5.34 `_ - Used for object serialization and network processors. (other versions of ROOT 5 are okay too). RAT-PAC requires the python development libraries and Minuit2 minimization libraries thus when configuring the root make use the ``--enable-python --enable-minuit2`` options i.e.
- ``./configure --enable-python --enable-minuit2``
* `GEANT4 10.01.p02 `_ `tar file `_- Toolkit used by the Monte Carlo simulation. When running ``cmake`` to configure GEANT4, be sure to use ``-DGEANT4_INSTALL_DATA=ON`` to download the interaction cross-section files (or download them manually).
For begining GEANT4 users:
In the directory you want to install Geant4 (referenced as ``[InstallDir]`` below), type the following commands:
.. code-block::
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
wget http://geant4.cern.ch/support/source/geant4.10.01.p02.tar.gz
tar -zxvf geant4.10.01.p02.tar.gz
mkdir $DIR/geant4.10.01.p02-build
cd geant4.10.01.p02-build
cmake -DCMAKE_INSTALL_PREFIX=$DIR/geant4.10.01.p02-build $DIR/geant4.10.01.p02 -DGEANT4_USE_SYSTEM_EXPAT=OFF -DGEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_QT=ON
make -j1
make install
cd ..
mkdir envSetupScripts
The geant4 enviroment variable files referenced below will be located in [InstallDir]/geant4.10.01.p02-build/InstallTreeFiles/
* `SCons `_ - Using common package managers, type
- on Scientific Linux: ``sudo yum install scons``
- on Ubuntu: . . . . . . ``sudo apt-get install scons``
Build Steps
```````````
* Make sure that you have setup your environment variables:
Source the GEANT4 enviroment variable files
- for bash shell ``geant4.sh``
- for C shell ``geant4.csh``
Source the ROOT enviroment variable files
- for bash shell ``thisroot.sh``
- for C shell ``thisroot.csh``
If you do not know where to find these files, type
.. code-block::
locate [fileName]
Replacing [fileName] with the file you wish to locate. If the file path does not appear, type
.. code-block::
sudo updatedb
* Download RAT from GitHub
Move to the directory you wish to install rat-pac in [rat-pacWorkingDIR] hinceforth.
For Anonymous Users type
.. code-block::
git clone https://github.com/rat-pac/rat-pac
For Developers type
.. code-block::
git clone git@github.com:rat-pac/rat-pac
* Build rat-pac
Starting from [rat-pacWorkingDIR] type
.. code-block::
cd rat-pac
./configure
Source the newly generated rat-pac enviroment variable files :Note: You will also need to source this file in the future before running rat-pac.
- for bash shell type ``env.sh``
- for C shell type ``env.csh``
Build the rat-pac development package by typing
.. code-block::
scons
Test Drive
``````````
* Run an interactive session by typing
.. code-block::
rat
Here's a sample of what you might see (type ``exit`` to exit the interactive rat-pac terminal):
.. code-block::
RAT, version c8164f1
Status messages enabled: info
Hostname: wrangler.phys.vt.edu PID: 31590
DB: Loading /rat-pac-working-dir/rat-pac/data/DAQ.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/DETECTOR.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/ELEMENTS.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/IBD.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/IO.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/MATERIALS.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/MC.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/NOISE.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/NTUPLE.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/OPTICS.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/PMT.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/PMTCHARGE.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/PMTTRANSIT.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/RUN.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat-pac/data/SPECTRUM.ratdb ... Success!
DB: Loading /rat-pac-working-dir/rat/rat/data/PMTTRANSIT.ratdb ... Success!
*************************************************************
Geant4 version Name: geant4-08-01-patch-01 (27-July-2006)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
Visualization Manager initialising...
Registering graphics systems...
You have successfully registered the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
OpenGLImmediateQt (OGLIQt)
OpenGLStoredQt (OGLSQt)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
You have successfully registered the following user vis actions.
Run Duration User Vis Actions: none
End of Event User Vis Actions: none
End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
Available UI session types: [ Qt, GAG, tcsh, csh ]
***** Can not open a macro file
PreInit>
* Run a macro example job by typing
.. code-block::
rat mac/electron_demo_cylinder.mac -o test.root
This will simulate 1000 -- 10 MeV electrons in a cylindrical detector.
* Now you can start ROOT to analyze the events you just created by typing
.. code-block::
root test.root
T->Draw("mc.particle.pos.fX")
You should get a plot of particle x coordinates similar to the plot below.
|RootOutputTutorial000|
.. |RootOutputTutorial000| image:: Tutorial000.png
:Note: that with the RAT environment sourced, you are getting a special copy of ROOT that automatically loads the RAT ROOT event library.