Skip to content
forked from eic/epic

DD4hep Geometry Description of the EPIC Experiment

Notifications You must be signed in to change notification settings

mariakzurek/epic

 
 

Repository files navigation

Overview

The EPIC Detector at IP6 for Electron-Ion Collider experiment.

Detector geometry viewer:


Browse latest

Detector views

Constants listing

Getting Started

You will likely want to use this repository along with the IP6 repository:

git clone https://github.com/eic/epic.git
git clone https://github.com/eic/ip6.git
ln -s ../ip6/ip6 epic/ip6

Compilation

To configure, build, and install the geometry (to the install directory), use the following commands:

cmake -B build -S . -DCMAKE_INSTALL_PREFIX=install
cmake --build build
cmake --install build

To load the geometry, you can use the scripts in the install directory:

source install/setup.sh

or

source install/setup.csh

Adding/changing detector geometry

Hint: Use the CI/CD pipelines.

To avoid dealing with setting up all the dependencies, we recommend using the continuous integration/continuous deployment (CI/CD) pipelines to make changes and assess their effects. Any feedback to help this process is appreciated.

Here is how to begin:

  1. Look at existing detector constructions and reuse if possible. Note that "compact detector descriptions" -> xml files, and "detector construction" -> cpp file.
  2. Modify xml file or detector construction.
  3. Create a WIP (or draft) merge request or pull request and look at the CI output for debugging. Then go to back to 2 if changes are needed.
  4. Remove the WIP/Draft part of the merge request if you would like to see your changes merged into the main.

See:

Compiling (avoid it)

First, see if the use case above is best for you. It most likely is and can save a lot of time for newcomers. To run the simulation locally, we suggest using the singularity image. More details can be found at the links below:

Related useful links

About

DD4hep Geometry Description of the EPIC Experiment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 78.2%
  • Shell 13.4%
  • Python 3.5%
  • Jinja 3.3%
  • CMake 1.6%