Phoenix is a TypeScript-based event display framework, using the popular three.js library for 3D. It focuses on being experiment agnostic by design, with common tools (such as custom menus, controls, propagators) and the possibility to add experiment specific extensions.
It consists of two packages: a plain TypeScript core library (phoenix-event-display) and Angular example application (phoenix-ng). A React example is also provided. The core library can be adapted for any experiment with some simple steps.
Phoenix is supported by the HEP Software Foundation and is the official web event display of the ATLAS experiment.
It was selected for Google Summer of Code support in 2019, 2020 and 2021.
You can see the stable version at https://hepsoftwarefoundation.org/phoenix and the development version at http://phoenix-dev.surge.sh.
phoenix-event-display
Phoenix event display frameworkphoenix-ng
Phoenix Angular application
For running both the event display and the Angular app, you will need Node.js and Yarn.
- N.B. There seems to be a problem with node v21 and ARM devices. See here for more details.
Once you have Node.js and npm (npm comes with Node.js), install Yarn.
npm install --global yarn
You might need to set your Yarn version to Yarn 2 and beyond with
yarn set version berry
Then run the following commands.
# Install all the required dependencies
yarn install
# For macOS you must install the following:
# brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman
# For Ubuntu, you may need to install:
# sudo apt-get install xserver-xorg-dev libxi-dev libxext-dev -y
# Also, if gyp fails with not being able to find python:
# sudo ln -s /usr/bin/python2 /usr/bin/python
# Run phoenix-event-display and phoenix-app in development/watch mode
yarn start
# If this does not do anything, make sure you have not missed a warning.
# e.g. if you are using an older version of node (we are currently using v20), then it may not work
Now both the phoenix-event-display
and phoenix-app
will start in development/watch mode. Any changes made to the phoenix-event-display
will rebuild and hot reload the phoenix-app
. You can access the app by navigating to http://localhost:4200
on the browser.
Run the following Docker command to start Phoenix locally using Docker.
docker run -dp 80:80 9inpachi/phoenix
Access the app by navigating to http://localhost
on the browser.
- Phoenix was presented at the 2020 HSF/WLCG virtual workshop and the presentation can be watched on YouTube
- Phoenix was shown at CHEP 2021 (abstract).
PhoenixATLAS is the official web event display of the ATLAS experiment. It can be used to visualise different versions of ATLAS Geometry, and uploaded events.
ATLAS has also used it for embedded events in Physics briefings, e.g. Heavyweight champions: a search for new heavy W' bosons with the ATLAS detector
Phoenix is also used by Future Circular Collider, see here.
Phoenix is also used by LHCb, see here
Phoenix is also used by Belle II, see here
The best way to contact us is to either open an issue in GitHub, start a discussion or talk to us on our gitter channel (though this is not used as much these days).