FAIRsoft
FAIRsoft should be installed (see PandaRoot)
Or follow this description:
Install the dependencies
Debian, Ubuntu and other Debian based systems (64bit):
$ apt-get install cmake cmake-data g++ gcc gfortran \
debianutils build-essential make patch sed \
libx11-dev libxft-dev libxext-dev libxpm-dev libxmu-dev \
libglu1-mesa-dev libgl1-mesa-dev \
libncurses5-dev curl libcurl4-openssl-dev bzip2 libbz2-dev gzip unzip tar \
subversion git xutils-dev flex bison lsb-release python3-dev \
libc6-dev-i386 libxml2-dev wget libssl-dev libkrb5-dev \
automake autoconf libtool
sudo apt-get install libxi-dev
Clone the Fairsoft package
e.g. to your home directory /home/username
$ git clone https://github.com/FairRootGroup/FairSoft fairsoft_may18
Cloning into 'fairsoft_may18'...
remote: Counting objects: 1385, done.
remote: Total 1385 (delta 0), reused 0 (delta 0), pack-reused 1385
Receiving objects: 100% (1385/1385), 17.86 MiB | 4.03 MiB/s, done.
Resolving deltas: 100% (904/904), done.
Checking connectivity... done.
Switch to the May18p1 tag:
$ cd fairsoft_may18
$ git checkout tags/may18p1
Launch the ./configure.sh script1)
and answer to the questions as the following:
GCC (Linux)
Optimize with Debug Info
Would you like to install FairMQ only? - No
Would you like to install Simulation engines and event generators? - Yes
Would you like to install the additionally available data files the GEANT4 package? - Internet
Would you like to install the python bindings for Geant4 and Root? - Yes
Please define a directory for the installation of the external packages. - /home/username/fairsoft_may18/build
Is /home/username/fairsoft_may18/build the correct path? -Yes
Now you can start doing something else, since the installation will take some time. At the end, you should have the following message:
**** Checking libraries in /home/pandauser/fairsoft_jun19/build/lib ****
*** End installation of external packages without Errors***
In case some error has occurred try it again. If it is still not working ask for help.
Primasoft
Get source code
git clone agmaas@bwec-fileserver:/home/agmaas/git/primasoft.git
since 2020:
git clone https://gitlab.rlp.net/emp/primasoft.git
Set the enviroment
cd primasoft/
Define the environment variable FAIRSOFT_BUILD_DIR
and set it equal the path to the FAIRsoft build directory
export FAIRSOFT_BUILD_DIR=/path/to/fairsoft/build
source setenv.sh
Compile geant4 simulation
cd geant4/
source $FAIRSOFT_BUILD_DIR/share/Geant4/geant4make/geant4make.sh
make
Execute geant4 simulation
geant4$ primag4sim primag4sim.conf
Rootmacros
In order to execute rootmacros, the include paths need to be set.
This can be done automatically with a rootlogon.C
file.
Create the rootlogon.C file:
$ cd ~/
$ mkdir .rootlogon
$ geany .rootlogon/rootlogon.C
Enter the following lines to your rootlogon.C file:
// This is the file rootlogon.C
{
printf("\n Beginning new ROOT session\n");
gROOT->ProcessLine(".include your_path/primasoft/geant4");
gSystem->Load("<geant4_workdir>/tmp/Linux-g++/primag4sim/libprimadict.so");
}
Here, your_path
is the path to the primasoft git repository and the <geant4_workdir>
can be found out by $ echo $G4WORKDIR
.
Now root needs to know where to find the rootlogon.C file. Therefore in ''$FAIRSOFT_BUILD_DIR'/share/root/etc/system.rootrc' change the line:
Rint.Logon: rootlogon.C
to:
Rint.Logon: ~/.rootlogon/rootlogon.C
Now you can execute the rootmacro:
/geant4$ root -l rootmacros/test.C+