Summary and Setup
Welcome to the EIC Tutorial on geometry development with DD4hep!
In this tutorial you will learn where the ePIC geometry lives inside
eic-shell, how a DD4hep geometry description is structured,
how to view the geometry, and how to modify or add to it by writing
detector plugins.
Prerequisites
This tutorial forms part of the EIC tutorial series. It assumes you
have already set up your environment and can start
eic-shell:
- Setting Up Your Environment
- Simulations Using npsim and Geant4
- Reconstruction Algorithms in JANA2
- Analysis of Reconstructed Data
Please also take a look at the Setup page for necessary prerequisites.
In advance of the training session, please ensure that
- You have a GitHub account (sign up here)
- Your GitHub account is a member of the EIC organization on GitHub
- Email the EIC software conveners with your GitHub account to be added
- You have singularity/apptainer or docker (on Mac) installed and
working
-
module load singularity(on most JLab or BNL systems) (preferred option) - Local system options:
- systems that use cvmfs or download images can install singularity or apptainer (see the apptainer quick-start guide)
- systems that download images can install docker (see the Docker website)
- you should at a minimum be able to run either of the following
commands and open a shell:
singularity run docker://alpinedocker run --rm -it alpine
-
- Download
eic-shell:Due to time and bandwidth limitations, this should be downloaded to your desired system before the live tutorial
From the system you use with singularity/apptainer or docker, make a folder called
eic-
From inside this directory, install by running the command:
-
or you can save the file at https://get.epic-eic.org as
install.shand run this script by hand:
If you have completed the numbered steps above, then you are ready for the tutorial. Additional information and training links are below:
- Basic familiarity with Unix shell and Git
- Software Carpentry Unix Shell training (recommended)
- Software Carpentry Basic Git training (recommended)
- Basic familiarity with singularity and docker:
- Software Carpentry Incubator Singularity training (optional)
- HEP Software Foundation Docker training (optional)