Warning, /firebird/packages/epic/src/epic-geometry-rules.ts is written in an unsupported language. File is not indexed.
0001 /**
0002 * Pre-build TGeo rules for the ePIC detector geometry: the 'default' edit
0003 * rule set removes or hides detail that costs triangles without helping an
0004 * event display (fibers, tiles, staves, sensors, cooling), and the 'central'
0005 * cut list removes the far-forward and far-backward systems.
0006 *
0007 * Loaded through a dynamic import from `withEpic()`, so the rule data stays
0008 * out of the initial bundle. The geometry worker receives it as plain data.
0009 */
0010
0011 import { EditActions, GeoAttBits } from '@dexvis/root-geo-tree-editor';
0012 import type { RootGeometryRules } from '@dexvis/firebird-ng';
0013
0014 export const epicRootGeometryRules: RootGeometryRules = {
0015 editRules: {
0016 default: {
0017 label: 'Remove glue layers, straws, thin layers and other fine parts',
0018 detectors: [
0019 {
0020 namePattern: "*/EcalBarrelScFi*",
0021 editRules: [
0022 {pattern: "*/fiber_grid*", action: EditActions.Remove},
0023 {pattern: "*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0024 {pattern: "*/*layer*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0025 {pattern: "*/*layer*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisNone},
0026 {pattern: "*/*layer*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0027 ]
0028 },
0029 {
0030 namePattern: "*/EcalBarrelTracker*",
0031 editRules: [
0032 {pattern: "*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0033 {pattern: "*/stave*", action: EditActions.RemoveChildren},
0034 {pattern: "*/stave*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0035 {pattern: "*/stave*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisNone},
0036 {pattern: "*/stave*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0037 ]
0038 },
0039 {
0040 namePattern: "*/EcalBarrelImaging*",
0041 editRules: [
0042 {pattern: "*/stav*", action: EditActions.RemoveChildren},
0043 {pattern: "*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0044 ]
0045 },
0046 {
0047 namePattern: "*/DRICH*",
0048 editRules: [
0049 {pattern: "*/DRICH_cooling*", action: EditActions.RemoveSiblings},
0050 ]
0051 },
0052 {
0053 namePattern: "*/DIRC*",
0054 editRules: [
0055 {pattern: "*/Envelope_box*", action: EditActions.RemoveChildren},
0056 {pattern: "*/Envelope_box*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0057 {pattern: "*/Envelope_box*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisNone},
0058 {pattern: "*/Envelope_box*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0059 {pattern: "*/Envelope_lens_vol*", action: EditActions.Remove},
0060 ]
0061 },
0062 {
0063 namePattern: "*/EcalEndcapN*",
0064 editRules: [
0065 {pattern: "*/crystal*", action: EditActions.RemoveSiblings},
0066 ]
0067 },
0068 {
0069 namePattern: "*/EcalEndcapP_*",
0070 editRules: [
0071 {pattern: "*/EcalEndcapP_layer1_0*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0072 {pattern: "*/EcalEndcapP_layer1_0*", action: EditActions.RemoveChildren},
0073 ]
0074 },
0075 {
0076 namePattern: "*/LFHCAL_*",
0077 editRules: [
0078 {pattern: "*/LFHCAL_8M*", action: EditActions.RemoveChildren},
0079 {pattern: "*/LFHCAL_8M*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0080 {pattern: "*/LFHCAL_8M*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisNone},
0081 {pattern: "*/LFHCAL_8M*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0082 {pattern: "*/LFHCAL_4M*", action: EditActions.RemoveChildren},
0083 {pattern: "*/LFHCAL_4M*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0084 {pattern: "*/LFHCAL_4M*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisNone},
0085 {pattern: "*/LFHCAL_4M*", action: EditActions.UnsetGeoBit, geoBit: GeoAttBits.kVisDaughters},
0086 ]
0087 },
0088 {
0089 namePattern: "*/HcalEndcapPInsert_23*",
0090 editRules: [
0091 {pattern: "*/*layer*slice1_*", action: EditActions.RemoveSiblings},
0092 ]
0093 },
0094 {
0095 namePattern: "*/HcalBarrel*",
0096 editRules: [
0097 {pattern: "*/Tile*", action: EditActions.Remove},
0098 {pattern: "*/ChimneyTile*", action: EditActions.Remove},
0099 ]
0100 },
0101 {
0102 namePattern: "*/EndcapTOF*",
0103 editRules: [
0104 {pattern: "*/suppbar*", action: EditActions.Remove},
0105 {pattern: "*/component_hyb*", action: EditActions.Remove},
0106 ]
0107 },
0108 {
0109 namePattern: "*/VertexBarrelSubAssembly*",
0110 editRules: [
0111 {pattern: "*/biasing*", action: EditActions.Remove},
0112 {pattern: "*/readout*", action: EditActions.Remove},
0113 {pattern: "*/backbone*", action: EditActions.Remove},
0114 ]
0115 },
0116 {
0117 namePattern: "*/BarrelTOF*",
0118 editRules: [
0119 {pattern: "*/component_sensor*", action: EditActions.Remove},
0120 {pattern: "*/component_ASIC*", action: EditActions.Remove},
0121 {pattern: "*/cooling*", action: EditActions.Remove},
0122 ]
0123 },
0124 {
0125 namePattern: "*/BeamPipe_assembly*",
0126 editRules: [
0127 {pattern: "*/*", action: EditActions.SetGeoBit, geoBit: GeoAttBits.kVisThis},
0128 ]
0129 },
0130 {
0131 namePattern: "*/LumiSpecCAL*",
0132 editRules: [
0133 {pattern: "*/module_vol*", action: EditActions.RemoveChildren}
0134 ]
0135 },
0136 ],
0137 },
0138 },
0139 cutLists: {
0140 central: {
0141 label: 'Show central detector only',
0142 remove: [
0143 "Lumi",
0144 "B1",
0145 "B2",
0146 "Q2",
0147 "ForwardOffM",
0148 "Forward",
0149 "Backward",
0150 "Vacuum",
0151 "SweeperMag",
0152 "AnalyzerMag",
0153 "ZDC",
0154 "HcalFarForward",
0155 "InnerTrackingSupport",
0156 ],
0157 },
0158 },
0159 };