User Tools

Site Tools


software:install

PRIMASOFT Installation

Docker installation
The PRIMA software for analysis, simulation, etc. is inside a Docker container. In case you are not running primasoft in any of EMP's pc's, then first you will need to install Docker. Check how to do it here:

Git clone the image
Now you need to pull the Docker image from the EMP GitLab repository. Open a new terminal, and do:

git clone https://gitlab.rlp.net/emp/primasoft.git

Start the container
Before starting the proper docker container, you need to add your personal user into the docker group. For that, do:

usermod -a -G <user> docker

After that, you will need to 're-enter' into your user session to make sure your user is now inside the docker group. For doing this, you can always restart the computer, or type in a terminal

 
su <user_name>

and then write

groups

Once you type that, you should be able to see all groups your user is in, so the docker name should appear there.

Starting the container and testing the simulation
Now you need to start the container so you can run the full primasoft. Write:

$ cd primasoft
$ ./start_run.sh

A new container with the name primaSoft-dev should be created. After running ./start_run.sh The output should look like this:

./start_run.sh
The default directory for G4WORKDIR is /home/foski/geant4_workdir. You can change it by adding -DG4WORKDIR=${Your_Host_Dir} to run this script.
access control disabled, clients can connect from any host
starting new container with name primaSoft-dev...
Unable to find image 'registry.gitlab.rlp.net/emp/docker_image_test/prima_soft_nonsu:2501' locally
2501: Pulling from emp/docker_image_test/prima_soft_nonsu
54609b48ebc1: Pull complete 
37577e941a51: Pull complete 
e8d35fa376e8: Pull complete 
279d4a417a51: Pull complete 
ae2ad9eaf997: Pull complete 
acacd230c1e4: Pull complete 
17d4bdcfb566: Pull complete 
45ec860a2ac8: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:e4ebe8a28daf2f3a94d323882e54773d6ee072a71ecd740e38d1065f285618ca
Status: Downloaded newer image for registry.gitlab.rlp.net/emp/docker_image_test/prima_soft_nonsu:2501
ec6f1e35929d0f6f8720fc46ec303b2d4993dd43aa61526b0f61b523f6fcd35d
new container started with id ec6f1e35929d
G4VMCDIR set to /opt/g4vmc/6.6p1_install
ubuntu@oskar:~/primasoft$ 

The last line means your are already inside the container under the ubuntu username.

Set the environment
source ./setenv.sh
cd utils/
make
cd ~/primasoft/analysis
mkdir lib
make
Compile geant4 simulation
cd ~/primasoft/geant4
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+
software/install.txt · Last modified: by himuser

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki