Warning, /firebird/packages/epic/README.md is written in an unsupported language. File is not indexed.
0001 # @dexvis/firebird-epic
0002
0003 The ePIC experiment pack for the [Firebird](https://github.com/eic/firebird)
0004 event display: everything Firebird knows about the ePIC detector at the
0005 Electron-Ion Collider, installed with one call.
0006
0007 ```ts
0008 import { provideFirebird } from '@dexvis/firebird-ng';
0009 import { withEpic } from '@dexvis/firebird-epic';
0010
0011 export const appConfig: ApplicationConfig = {
0012 providers: [
0013 provideFirebird(withEpic({ geometry: 'epic://tgeo/epic_craterlake.root' })),
0014 ],
0015 };
0016 ```
0017
0018 `withEpic()` contributes:
0019
0020 - the `epic://` URL alias for https://seeeic.org/g/epic/artifacts/
0021 - the ePIC datasets of the data selector (presets, physics facets, URL lists)
0022 - TGeo cleanup rules (`default`) and the `central` cut list, posted to the
0023 geometry worker as data
0024 - the `cool2`, `cool2no` and `cad` geometry themes
0025 - the Cherenkov collections (`DIRCBarHits`, `DRICHHits`, `PFRICHHits`) that
0026 the browser conversion keeps out of MC-truth trajectories
0027 (`events.trajectoryExcludedCollections`)
0028 - geometry post-processors: reflective dRICH mirrors and the
0029 Forward/Central/Backward detector grouping
0030 - the camera views `home`, `center` and `farforward`, and orbit limits for the
0031 ePIC hall
0032 - the beam collision intro and its toolbar button
0033
0034 ## Options are defaults
0035
0036 Each option sets a config default, the lowest precedence tier. Server
0037 config.jsonc, a value saved on the config page, and a `?config.<key>=` URL
0038 value override it.
0039
0040 | Option | Config key | Default |
0041 |------------|-----------------------------|---------|
0042 | `geometry` | `geometry.selectedGeometry` | `https://seeeic.org/g/epic/artifacts/tgeo/epic_craterlake.root` |
0043
0044 The pack has the feature id `epic`: installed twice, it takes effect once, and
0045 `withoutFeatures('epic')` removes all of it.
0046
0047 ## Build and tests
0048
0049 The pack is an Angular library: ng-packagr builds it into `dist/`, against
0050 the built `@dexvis/firebird-ng`, so the library and its dependencies build
0051 first. The package publishes from `dist/`. From the repository root:
0052
0053 ```bash
0054 for w in root-geo-tree-editor threejs-tree-editor viewport-gizmo root2dex firebird-core app-features; do
0055 npm run build -w @dexvis/$w
0056 done
0057 (cd dexvis/app-shell-ng && npx ng build app-shell)
0058 npm run build -w @dexvis/firebird-ng
0059 npm run build -w @dexvis/firebird-epic
0060 npm test -w @dexvis/firebird-epic
0061 ```