Back to home page

EIC code displayed by LXR

 
 

    


Warning, /firebird/firebird-ng/src/app/theme/cool2-geometry-ruleset.ts is written in an unsupported language. File is not indexed.

0001 
0002 import * as THREE from "three";
0003 
0004 
0005 export const cool2ColorRules = [
0006   // Solenoid components - Very light blue-gray
0007   {
0008     names: ["SolenoidBarrel_assembly_0", "SolenoidEndcapP_1", "SolenoidEndcapN_2"],
0009     rules: [
0010       {
0011         color: 0xECEFF1,  // Blue Gray 50 - very light blue-gray
0012         merge: true,
0013         outline: true
0014       }
0015     ]
0016   },
0017 
0018   // Trackers - Warm light peach/orange
0019   {
0020     names: ["InnerSiTrackerSubAssembly_4", "MiddleSiTrackerSubAssembly_5", "OuterSiTrackerSubAssembly_6", "B0TrackerSubAssembly_12"],
0021     rules: [
0022       {
0023         color: 0xFFE0B2,  // Orange 100 - very light warm orange/peach
0024         merge: true,
0025         outline: true
0026       }
0027     ]
0028   },
0029 
0030   // MPGD Trackers - Light warm yellow
0031   {
0032     names: ["EndcapMPGDSubAssembly_7", "InnerMPGDBarrelSubAssembly_8", "OuterBarrelMPGDSubAssembly_11"],
0033     rules: [
0034       {
0035         color: 0xFFF9C4,  // Yellow 100 - very light yellow
0036         merge: true,
0037         outline: true
0038       }
0039     ]
0040   },
0041 
0042   // TOF components - Very light blue
0043   {
0044     names: ["EndcapTOFSubAssembly_9", "BarrelTOFSubAssembly_10"],
0045     rules: [
0046       {
0047         color: 0xE1F5FE,  // Light Blue 50 - extremely light blue
0048         merge: true,
0049         outline: true,
0050         // simplifyMeshes: true
0051       }
0052     ]
0053   },
0054 
0055   // Inner tracker support - White with slight blue tint
0056   {
0057     name: "InnerTrackerSupport_assembly_13",
0058     rules: [
0059       {
0060         material: new THREE.MeshStandardMaterial({
0061           color: 0xF5F9FF,  // Custom ultra-light blue-white
0062           roughness: 0.5,
0063           metalness: 0.1,
0064           transparent: true,
0065           opacity: 0.5,
0066           blending: THREE.NormalBlending,
0067           depthWrite: true,
0068           polygonOffset: true,
0069           polygonOffsetFactor: 1,
0070           side: THREE.DoubleSide
0071         }),
0072         outline: true,
0073         outlineColor: 0xEEEEEE,  // Light gray outline
0074         merge: true,
0075         newName: "InnerTrackerSupport"
0076       }
0077     ]
0078   },
0079 
0080   // DIRC - Light cyan/blue
0081   {
0082     name: "DIRC_14",
0083     rules: [
0084       {
0085         patterns: ["**/*box*", "**/*prism*"],
0086         material: new THREE.MeshPhysicalMaterial({
0087           color: 0xE0F7FA,  // Cyan 50 - extremely light cyan
0088           metalness: .4,
0089           roughness: .2,
0090           envMapIntensity: 0.5,
0091           clearcoat: 0.8,
0092           transparent: true,
0093           opacity: .5,
0094           reflectivity: 0.2,
0095           ior: 0.9,
0096           side: THREE.DoubleSide,
0097         }),
0098         newName: "DIRC_barAndPrisms"
0099       },
0100       {
0101         patterns: ["**/*rail*"],
0102         newName: "DIRC_rails",
0103         color: 0xF5F5F5  // Gray 100 - almost white
0104       },
0105       {
0106         patterns: ["**/*mcp*"],
0107         newName: "DIRC_mcps",
0108         color: 0xE1F5FE  // Light Blue 50 - extremely light blue
0109       }
0110     ]
0111   },
0112   {
0113     // This is when DIRC geometry is standalone
0114     name: "DIRC_0",
0115     rules: [
0116       {
0117         patterns:     ["**/*box*", "**/*prism*"],
0118         material: new THREE.MeshPhysicalMaterial({
0119           color: 0xFFF8E1,
0120           metalness: .2,
0121           roughness: .05,
0122           envMapIntensity: 0.3,
0123           clearcoat: 1,
0124           transparent: true,
0125           transmission: .2,
0126           opacity: .25,
0127           reflectivity: 0.2,
0128           //refr: 0.985,
0129           ior: 0.9,
0130           side: THREE.DoubleSide,
0131         }),
0132         merge: false,
0133         outline: true,
0134         newName: "DIRC_barAndPrisms",
0135       },
0136       {
0137         patterns: ["**/*rail*"],
0138         newName: "DIRC_rails",
0139         color: 0xAAAACC
0140       },
0141       {
0142         patterns: ["**/*mcp*"],
0143         newName: "DIRC_mcps"
0144       }
0145     ]
0146 
0147   },
0148 
0149   // RICH Endcap - Very light violet-blue
0150   {
0151     name: "RICHEndcapN_Vol_15",
0152     rules: [
0153       {
0154         color: 0xE8EAF6,  // Indigo 50 - extremely light indigo
0155         merge: true,
0156         outline: true
0157       }
0158     ]
0159   },
0160 
0161   // DRICH - Different tone as requested (light peach)
0162   {
0163     name: "DRICH_16",
0164     rules: [
0165       {
0166         color: 0xFFECB3,  // Amber 100 - light warm amber/peach
0167         merge: true,
0168         outline: true
0169       }
0170     ]
0171   },
0172 
0173   // Ecal components - Very light lavender
0174   {
0175     names: ["EcalEndcapP_17", "EcalEndcapPInsert_18", "EcalBarrelImaging_19", "EcalBarrelScFi_20", "B0ECal_43"],
0176     rules: [
0177       {
0178         color: 0xF3E5F5,  // Purple 50 - extremely light purple
0179         merge: true,
0180         outline: true
0181       }
0182     ]
0183   },
0184 
0185   // EcalEndcapN - Light blue crystal
0186   {
0187     name: "EcalEndcapN*",
0188     rules: [
0189       {
0190         patterns: ["**/crystal_vol_0"],
0191         color: 0xE3F2FD  // Blue 50 - extremely light blue
0192       },
0193       {
0194         patterns: ["**/inner_support*", "**/ring*"],
0195         material: new THREE.MeshStandardMaterial({
0196           color: 0xF5F5F5,  // Gray 100 - almost white
0197           roughness: 0.5,
0198           metalness: 0.1,
0199           transparent: true,
0200           opacity: 0.5,
0201           side: THREE.DoubleSide
0202         })
0203       }
0204     ]
0205   },
0206 
0207   // Hcal components - Light blue (biggest components)
0208   {
0209     names: ["LFHCAL_env_22", "HcalEndcapPInsert_23", "HcalBarrel_24", "HcalEndcapN_25"],
0210     rules: [
0211       {
0212         color: 0x90CAF9,  // Blue 200 - light blue with more saturation
0213         merge: true,
0214         outline: true
0215       }
0216     ]
0217   },
0218 
0219   // Flux components - Light blue
0220   {
0221     names: ["FluxBarrel_env_25", "FluxEndcapP_26", "FluxEndcapN_26", "FluxEndcapN_28"],
0222     rules: [
0223       {
0224         color: 0xE3F2FD,  // Blue 50 - extremely light blue
0225         merge: true,
0226         outline: true
0227       }
0228     ]
0229   },
0230 
0231   // Beam Pipe components - Nearly white
0232   {
0233     names: [
0234       "BeamPipe_assembly_27",
0235       "BeamPipeB0_assembly_36",
0236       "B0Window_vol_ExitWindow_37",
0237       "Pipe_cen_to_pos_assembly_38",
0238       "Pipe_Q1eR_to_B2BeR_assembly_53",
0239       "Q0EF_vac_40",
0240       "Q1EF_vac_42"
0241     ],
0242     rules: [
0243       {
0244         color: 0xFAFAFA,  // Gray 50 - almost white
0245         merge: true,
0246         outline: true
0247       }
0248     ]
0249   },
0250 
0251   // Magnet components - Light green as requested (beamline magnets are typically green)
0252   {
0253     names: [
0254       "B0PF_BeamlineMagnet_assembly_28",
0255       "B0APF_BeamlineMagnet_assembly_29",
0256       "Q1APF_BeamlineMagnet_assembly_30",
0257       "Q1BPF_BeamlineMagnet_assembly_31",
0258       "Q0EF_assembly_39",
0259       "Q1EF_assembly_41",
0260       "Magnet_Q1eR_assembly_54",
0261       "Magnet_Q2eR_assembly_55",
0262       "Magnet_B2AeR_assembly_56",
0263       "Magnet_B2BeR_assembly_57",
0264       "Magnets_Q3eR_assembly_58"
0265     ],
0266     rules: [
0267       {
0268         color: 0xC8E6C9,  // Green 100 - light green
0269         merge: true,
0270         outline: true
0271       }
0272     ]
0273   },
0274 
0275   // Vertex Barrel - Warm light amber
0276   {
0277     name: "VertexBarrelSubAssembly_3",
0278     rules: [
0279       {
0280         color: 0xFFF8E1,  // Amber 50 - extremely light amber/peach
0281         merge: true,
0282         outline: true
0283       }
0284     ]
0285   },
0286 
0287   // Default rule for anything not matched above
0288   {
0289     name: "*",
0290     rules: [
0291       {
0292         color: 0xF5F5F5,  // Gray 100 - very light gray
0293         merge: true,
0294         outline: true
0295       }
0296     ]
0297   }
0298 ]