Back to home page

EIC code displayed by LXR

 
 

    


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 };