Newer
Older
---
title: "Quick-start Guide"
---
## Prerequisites
The programmer is assumed to be familiar with
- working in the terminal over ssh
- `git` and gitlab (https://eicweb.phy.anl.gov)
- using `cmake`
- C++, python, and shell scripting
Create an account on https://eicweb.phy.anl.gov and configure your account.
This tutorial requires that [singularity](singularity) is installed
on the system. We also assumes [modulefiles](modulefiles) can be
used but are not required.
## The EIC Software Container
Installing the [eic_container](quickstart/eic_container) is done with the
following:
```shell
git clone https://eicweb.phy.anl.gov/containers/eic_container.git
mkdir eic_container/build
cd eic_container/build
cmake ../. -DCMAKE_INSTALL_PREFIX=$HOME/stow/eic_container_1.0.4
make -j4 install
```
Inspect the list of files installed, noting the locations of modulefiles and
wrapper scripts.
## Using the container
```bash
module use $HOME/etc/modulefiles
[See modulefiles](modulefiles) for more info.
## Development within singularity container
The following helper runs bash inside `eic_container`
```bash
module load eic_container
container_dev
```
For projects that you want to build but which are also inside of the container,
you must make sure to set `$PATH` and `$LD_LIBRARY_PATH` to point to the
development build's installation prefix first. Here we assume your development
builds are being installed into `$HOME/stow/development`
A simple setup script will make sure things are in order
```shell title=setup.sh
module load eic_container
export $PATH=$HOME/stow/development/bin:$PATH
export $LD_LIBRARY_PATH=$HOME/stow/development/lib:$HOME/stow/development/lib64:$LD_LIBRARY_PATH
export $ROOT_INCLUDE_PATH=$HOME/stow/development/include:$ROOT_INCLUDE_PATH
```
## Detector Library
The
```bash
source setup.sh
module load eic_container
git clone https://eicweb.phy.anl.gov/EIC/NPDet.git
cd NPDet/examples
print_materials gem_tracker_disc.xml 0 0 0 100 0 100
```
The last line dumps the materials encounter along a line defined by two points.
```bash
cd ..
mkdir NPDet/build && cd NPDet/build
cmake ../. -DCMAKE_INSTALL_PREFIX=$HOME/stow/development
make -j4 install
cd ../examples
print_materials gem_tracker_disc.xml 0 0 0 100 0 100
```