---
title: "Quick-start Guide"
---


## Prerequisites

We assume that you are somewhat familiar with:
- git and gitlab (https://eicweb.phy.anl.gov)
- working in the terminal over ssh
- cmake, C++, python, and shell scripting


This tutorial requires that [singularity](singularity) is installed 
on the local system. 
Singularity can be [downloaded here](https://sylabs.io/guides/3.7/user-guide/quick_start.html) -- 3.7 being the 
most recent version as of January 2021.

*For an optimal experience, we strongly recommend you to use singularity 3 or later for this tutorial. 
Use (very) old versions of singularity (e.g. 2.6.x) at your own risk!*
 
## The EIC Software Container (jug_xl)

### Step 1: Create a local directory that you want to work in, e.g., `~/eic`
```bash
mkdir ~/eic
cd ~/eic
```

### Step 2: Deploy the containerized environment and launch a shell

Execute the following line in your terminal to setup your environment in your sandbox
directory. This will install the latest stable container and place a script called
`eic-shell` in the top-level directory. This script will load the environment for you.

```bash
curl https://eicweb.phy.anl.gov/containers/eic_container/-/raw/master/install.sh | bash
```

Now you can launch a shell in our development environment:
```bash
./eic-shell
```

### Step 3: Clone the repos

There are 2 repos you need:
* IP6 (IP-specific components)
* Athena detector

```bash
git clone https://eicweb.phy.anl.gov/EIC/detectors/athena.git
git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
ln -s ../ip6/ip6 athena/ip6
```

In part 1 of the tutorial we will be mostly using files from a tutorial repo. 
Later on, we will com back to these detector repositories.

### Step 4: Looking at the geometry

Before moving on to part 1, let's generate the geometry in a root file:


```bash
cd athena
source /opt/detector/setup.sh
dd_web_display --export athena.xml
```

This will generate the file `detector_geometry.root`, which you should copy to your local machine.
Then open the [web viewer](https://eic.phy.anl.gov/geoviewer/), click on the `...` and open the local root file.

Or if you want to skip this just 
[click here to view the latest detector](https://eic.phy.anl.gov/geoviewer/index.htm?file=https://eicweb.phy.anl.gov/api/v4/projects/473/jobs/artifacts/master/raw/geo/detector_geo_full.root?job=report&item=default;1&opt=clipxyz;transp30;zoom75;ROTY290;ROTZ350;trz0;trr0;ctrl;all&).

(Note: the `source /opt/detector/setup.sh` command adds the Athena detector plugins that ship
with the jug_xl container to your environment.)