diff --git a/compact/LGC.xml b/compact/LGC.xml index 6865beeef83c169e77f6d183a16bbfcaa23ec39a..531ece8fa4acb1709dc602022e1e685685f56878 100644 --- a/compact/LGC.xml +++ b/compact/LGC.xml @@ -1,7 +1,7 @@ <lccdd> <info name="LGC" title="Light Gas Cherenkov" - author="C. Peng" + author="Chao Peng" url="https://eicweb.phy.anl.gov/EIC/detectors/solid/-/blob/master/compact/LGC.xml" status="development" version="$Id: compact/LGC.xml v1.0 2024-05-18$"> @@ -88,11 +88,10 @@ name="LightGasCherenkov" type="SoLID_GasCherenkov" readout="LightGasCherenkovHits" - numsides="24" - vis="RedVis"> + numsides="24"> <placement x="LGC_x" y="LGC_y" z0="LGC_z" /> - <tank radiator="N2Optical"> + <tank radiator="N2Optical" vis="LGCTankVis"> <comment> snout </comment> <segment rmin1="48.7*cm" rmax1="120*cm" rmin2="59.7*cm" rmax2="130*cm" length="97*cm" /> <segment rmin1="59.7*cm" rmax1="130*cm" rmin2="61.5*cm" rmax2="145*cm" length="16*cm" /> @@ -106,7 +105,7 @@ mirror is the intersection between two spherical shell </comment> <mirrors> - <piece id="1" material="PyrexGlassOptical" surface="MirrorOpticalSurface"> + <piece id="1" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGCMirrorVis"> <placement x="LGC_inner_shell_x" y="LGC_inner_shell_y" z="LGC_inner_shell_z - LGC_z"/> <shell rmin="LGC_inner_shell_rmin" rmax="LGC_inner_shell_rmax" theta0="0" dtheta="90*degree" phi0="0" dphi="360*degree"/> <wedge dx1="LGC_inner_wedge_dx1" dx2="LGC_inner_wedge_dx2" @@ -114,7 +113,7 @@ x="LGC_inner_wedge_x" y="LGC_inner_wedge_y" z="LGC_inner_wedge_z" rotx="90*degree" roty="0" rotz="0"/> </piece> - <piece id="2" material="PyrexGlassOptical" surface="MirrorOpticalSurface"> + <piece id="2" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGCMirrorVis"> <placement x="LGC_outer_shell_x" y="LGC_outer_shell_y" z="LGC_outer_shell_z - LGC_z"/> <shell rmin="LGC_outer_shell_rmin" rmax="LGC_outer_shell_rmax" theta0="0" dtheta="90*degree" phi0="0" dphi="360*degree"/> <wedge dx1="LGC_outer_wedge_dx1" dx2="LGC_outer_wedge_dx2" @@ -128,12 +127,12 @@ Light Gas Cherenkov: Winston cones </comment> <winston_cone material="PyrexGlassOptical" surface="MirrorOpticalSurface"> - <placement x="0*cm" y="240*cm" z="245*cm - LGC_z"/> - <rotation x="0" y="0" z="0"/> + <placement x="0*cm" y="240*cm" z="245*cm - LGC_z" /> + <rotation x="65*degree" y="0" z="0" /> <comment> TODO: implement PMT material layers </comment> - <pmt_array dx="16*cm" dy="16*cm" sensitive="yes"/> - <cone thickness="4*mm" rmin="7.0*cm" rmax="21.5*cm" length="30.*cm"/> - <shield material="Lead" thickness="1.*cm" radius="11.53*cm" length="15.*cm" shift_z="-1.66*cm"/> + <pmt_array dx="16*cm" dy="16*cm" sensitive="yes" vis="LGCPMTVis" /> + <cone thickness="4*mm" rmin="7.0*cm" rmax="21.5*cm" length="30.*cm" vis="LGCConeVis" /> + <shield material="Lead" thickness="1.*cm" radius="11.53*cm" length="8.*cm" shift_z="1.5*cm" vis="LGCShieldVis" /> </winston_cone> </detector> <comment> diff --git a/compact/colors.xml b/compact/colors.xml index 50adcd80d289021f40a6a4cdbaff703878375649..cce814f436b3b4ad19585311ae153394874b3f25 100644 --- a/compact/colors.xml +++ b/compact/colors.xml @@ -1,42 +1,156 @@ <!-- SPDX-License-Identifier: LGPL-3.0-or-later --> -<!-- Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong --> +<!-- Copyright (C) 2024 Chao Peng --> <display> - <comment> - Colors tweaked to be displayable by geoViewer + color codes from CSS </comment> - <vis name="AnlGreen" alpha="1" r="100/256" g="200/256" b="0/256"/> - <vis name="AnlViolet" alpha="1" r="100/256" g="0/256" b="150/256"/> - <vis name="AnlProcess_Blue" alpha="1" r="0/256" g="100/256" b="202/256"/> - <vis name="AnlOrange" alpha="1" r="255/256" g="121/256" b="0"/> - <vis name="AnlRed" alpha="1" r="205/256" g="45/256 " b="45/256"/> - <vis name="AnlGold" alpha="1" r="248/256" g="188/256" b="0/256"/> - <vis name="AnlBlue" alpha="1" r="0/256" g="96/256" b="156/256"/> - <vis name="AnlTeal" alpha="1" r="0/256" g="161/256" b="156/256"/> - <vis name="AnlGray" alpha="1" r="102/256" g="102/256" b="102/256"/> - <vis name="AnlLight_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/> - <vis name="AnlLightGray" ref="AnlLight_Gray" /> - <!-- off-white (or white) don't work! --> - <!--vis name="AnlOff_White" alpha="1" r="242/256" g="242/256" b="242/256"/--> - <vis name="AnlDarkRed" alpha="1" r="161/256" g="45/256" b="45/256"/> - <vis name="AnlDarkGreen" alpha="1" r="0" g="110/256" b="50/256"/> - <vis name="AnlDarkBlue" alpha="1" r="45/256" g="45/256" b="110/256"/> - <vis name="AnlDelta_Red" ref="AnlDarkRed"/> - <vis name="AnlDelta_Green" ref="AnlDarkGreen"/> - <vis name="AnlDelta_Blue" ref="AnlDarkBlue"/> - - <vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> - <vis name="RedVis" alpha="0.5" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/> - <vis name="BlueVis" alpha="0.5" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/> - <vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/> - <vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/> - <vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/> - <vis name="PurpleVis" alpha="0.5" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/> - <vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/> - <vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/> - <vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/> - <vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/> - <vis name="SteelVis" alpha="0.05" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/> - <vis name="GrayVis" alpha="0.5" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/> + <vis name="aliceblue" alpha="1" r="240/255" g="248/255" b="255/255" /> + <vis name="antiquewhite" alpha="1" r="250/255" g="235/255" b="215/255" /> + <vis name="aqua" alpha="1" r="0/255" g="255/255" b="255/255" /> + <vis name="aquamarine" alpha="1" r="127/255" g="255/255" b="212/255" /> + <vis name="azure" alpha="1" r="240/255" g="255/255" b="255/255" /> + <vis name="beige" alpha="1" r="245/255" g="245/255" b="220/255" /> + <vis name="bisque" alpha="1" r="255/255" g="228/255" b="196/255" /> + <vis name="black" alpha="1" r="0/255" g="0/255" b="0/255" /> + <vis name="blanchedalmond" alpha="1" r="255/255" g="235/255" b="205/255" /> + <vis name="blue" alpha="1" r="0/255" g="0/255" b="255/255" /> + <vis name="blueviolet" alpha="1" r="138/255" g="43/255" b="226/255" /> + <vis name="brown" alpha="1" r="165/255" g="42/255" b="42/255" /> + <vis name="burlywood" alpha="1" r="222/255" g="184/255" b="135/255" /> + <vis name="cadetblue" alpha="1" r="95/255" g="158/255" b="160/255" /> + <vis name="chartreuse" alpha="1" r="127/255" g="255/255" b="0/255" /> + <vis name="chocolate" alpha="1" r="210/255" g="105/255" b="30/255" /> + <vis name="coral" alpha="1" r="255/255" g="127/255" b="80/255" /> + <vis name="cornflowerblue" alpha="1" r="100/255" g="149/255" b="237/255" /> + <vis name="cornsilk" alpha="1" r="255/255" g="248/255" b="220/255" /> + <vis name="crimson" alpha="1" r="220/255" g="20/255" b="60/255" /> + <vis name="cyan" alpha="1" r="0/255" g="255/255" b="255/255" /> + <vis name="darkblue" alpha="1" r="0/255" g="0/255" b="139/255" /> + <vis name="darkcyan" alpha="1" r="0/255" g="139/255" b="139/255" /> + <vis name="darkgoldenrod" alpha="1" r="184/255" g="134/255" b="11/255" /> + <vis name="darkgray" alpha="1" r="169/255" g="169/255" b="169/255" /> + <vis name="darkgreen" alpha="1" r="0/255" g="100/255" b="0/255" /> + <vis name="darkgrey" alpha="1" r="169/255" g="169/255" b="169/255" /> + <vis name="darkkhaki" alpha="1" r="189/255" g="183/255" b="107/255" /> + <vis name="darkmagenta" alpha="1" r="139/255" g="0/255" b="139/255" /> + <vis name="darkolivegreen" alpha="1" r="85/255" g="107/255" b="47/255" /> + <vis name="darkorange" alpha="1" r="255/255" g="140/255" b="0/255" /> + <vis name="darkorchid" alpha="1" r="153/255" g="50/255" b="204/255" /> + <vis name="darkred" alpha="1" r="139/255" g="0/255" b="0/255" /> + <vis name="darksalmon" alpha="1" r="233/255" g="150/255" b="122/255" /> + <vis name="darkseagreen" alpha="1" r="143/255" g="188/255" b="143/255" /> + <vis name="darkslateblue" alpha="1" r="72/255" g="61/255" b="139/255" /> + <vis name="darkslategray" alpha="1" r="47/255" g="79/255" b="79/255" /> + <vis name="darkslategrey" alpha="1" r="47/255" g="79/255" b="79/255" /> + <vis name="darkturquoise" alpha="1" r="0/255" g="206/255" b="209/255" /> + <vis name="darkviolet" alpha="1" r="148/255" g="0/255" b="211/255" /> + <vis name="deeppink" alpha="1" r="255/255" g="20/255" b="147/255" /> + <vis name="deepskyblue" alpha="1" r="0/255" g="191/255" b="255/255" /> + <vis name="dimgray" alpha="1" r="105/255" g="105/255" b="105/255" /> + <vis name="dimgrey" alpha="1" r="105/255" g="105/255" b="105/255" /> + <vis name="dodgerblue" alpha="1" r="30/255" g="144/255" b="255/255" /> + <vis name="firebrick" alpha="1" r="178/255" g="34/255" b="34/255" /> + <vis name="floralwhite" alpha="1" r="255/255" g="250/255" b="240/255" /> + <vis name="forestgreen" alpha="1" r="34/255" g="139/255" b="34/255" /> + <vis name="fuchsia" alpha="1" r="255/255" g="0/255" b="255/255" /> + <vis name="gainsboro" alpha="1" r="220/255" g="220/255" b="220/255" /> + <vis name="ghostwhite" alpha="1" r="248/255" g="248/255" b="255/255" /> + <vis name="gold" alpha="1" r="255/255" g="215/255" b="0/255" /> + <vis name="goldenrod" alpha="1" r="218/255" g="165/255" b="32/255" /> + <vis name="gray" alpha="1" r="128/255" g="128/255" b="128/255" /> + <vis name="green" alpha="1" r="0/255" g="128/255" b="0/255" /> + <vis name="greenyellow" alpha="1" r="173/255" g="255/255" b="47/255" /> + <vis name="grey" alpha="1" r="128/255" g="128/255" b="128/255" /> + <vis name="honeydew" alpha="1" r="240/255" g="255/255" b="240/255" /> + <vis name="hotpink" alpha="1" r="255/255" g="105/255" b="180/255" /> + <vis name="indianred" alpha="1" r="205/255" g="92/255" b="92/255" /> + <vis name="indigo" alpha="1" r="75/255" g="0/255" b="130/255" /> + <vis name="ivory" alpha="1" r="255/255" g="255/255" b="240/255" /> + <vis name="khaki" alpha="1" r="240/255" g="230/255" b="140/255" /> + <vis name="lavender" alpha="1" r="230/255" g="230/255" b="250/255" /> + <vis name="lavenderblush" alpha="1" r="255/255" g="240/255" b="245/255" /> + <vis name="lawngreen" alpha="1" r="124/255" g="252/255" b="0/255" /> + <vis name="lemonchiffon" alpha="1" r="255/255" g="250/255" b="205/255" /> + <vis name="lightblue" alpha="1" r="173/255" g="216/255" b="230/255" /> + <vis name="lightcoral" alpha="1" r="240/255" g="128/255" b="128/255" /> + <vis name="lightcyan" alpha="1" r="224/255" g="255/255" b="255/255" /> + <vis name="lightgoldenrodyellow" alpha="1" r="250/255" g="250/255" b="210/255" /> + <vis name="lightgray" alpha="1" r="211/255" g="211/255" b="211/255" /> + <vis name="lightgreen" alpha="1" r="144/255" g="238/255" b="144/255" /> + <vis name="lightgrey" alpha="1" r="211/255" g="211/255" b="211/255" /> + <vis name="lightpink" alpha="1" r="255/255" g="182/255" b="193/255" /> + <vis name="lightsalmon" alpha="1" r="255/255" g="160/255" b="122/255" /> + <vis name="lightseagreen" alpha="1" r="32/255" g="178/255" b="170/255" /> + <vis name="lightskyblue" alpha="1" r="135/255" g="206/255" b="250/255" /> + <vis name="lightslategray" alpha="1" r="119/255" g="136/255" b="153/255" /> + <vis name="lightslategrey" alpha="1" r="119/255" g="136/255" b="153/255" /> + <vis name="lightsteelblue" alpha="1" r="176/255" g="196/255" b="222/255" /> + <vis name="lightyellow" alpha="1" r="255/255" g="255/255" b="224/255" /> + <vis name="lime" alpha="1" r="0/255" g="255/255" b="0/255" /> + <vis name="limegreen" alpha="1" r="50/255" g="205/255" b="50/255" /> + <vis name="linen" alpha="1" r="250/255" g="240/255" b="230/255" /> + <vis name="magenta" alpha="1" r="255/255" g="0/255" b="255/255" /> + <vis name="maroon" alpha="1" r="128/255" g="0/255" b="0/255" /> + <vis name="mediumaquamarine" alpha="1" r="102/255" g="205/255" b="170/255" /> + <vis name="mediumblue" alpha="1" r="0/255" g="0/255" b="205/255" /> + <vis name="mediumorchid" alpha="1" r="186/255" g="85/255" b="211/255" /> + <vis name="mediumpurple" alpha="1" r="147/255" g="112/255" b="219/255" /> + <vis name="mediumseagreen" alpha="1" r="60/255" g="179/255" b="113/255" /> + <vis name="mediumslateblue" alpha="1" r="123/255" g="104/255" b="238/255" /> + <vis name="mediumspringgreen" alpha="1" r="0/255" g="250/255" b="154/255" /> + <vis name="mediumturquoise" alpha="1" r="72/255" g="209/255" b="204/255" /> + <vis name="mediumvioletred" alpha="1" r="199/255" g="21/255" b="133/255" /> + <vis name="midnightblue" alpha="1" r="25/255" g="25/255" b="112/255" /> + <vis name="mintcream" alpha="1" r="245/255" g="255/255" b="250/255" /> + <vis name="mistyrose" alpha="1" r="255/255" g="228/255" b="225/255" /> + <vis name="moccasin" alpha="1" r="255/255" g="228/255" b="181/255" /> + <vis name="navajowhite" alpha="1" r="255/255" g="222/255" b="173/255" /> + <vis name="navy" alpha="1" r="0/255" g="0/255" b="128/255" /> + <vis name="oldlace" alpha="1" r="253/255" g="245/255" b="230/255" /> + <vis name="olive" alpha="1" r="128/255" g="128/255" b="0/255" /> + <vis name="olivedrab" alpha="1" r="107/255" g="142/255" b="35/255" /> + <vis name="orange" alpha="1" r="255/255" g="165/255" b="0/255" /> + <vis name="orangered" alpha="1" r="255/255" g="69/255" b="0/255" /> + <vis name="orchid" alpha="1" r="218/255" g="112/255" b="214/255" /> + <vis name="palegoldenrod" alpha="1" r="238/255" g="232/255" b="170/255" /> + <vis name="palegreen" alpha="1" r="152/255" g="251/255" b="152/255" /> + <vis name="paleturquoise" alpha="1" r="175/255" g="238/255" b="238/255" /> + <vis name="palevioletred" alpha="1" r="219/255" g="112/255" b="147/255" /> + <vis name="papayawhip" alpha="1" r="255/255" g="239/255" b="213/255" /> + <vis name="peachpuff" alpha="1" r="255/255" g="218/255" b="185/255" /> + <vis name="peru" alpha="1" r="205/255" g="133/255" b="63/255" /> + <vis name="pink" alpha="1" r="255/255" g="192/255" b="203/255" /> + <vis name="plum" alpha="1" r="221/255" g="160/255" b="221/255" /> + <vis name="powderblue" alpha="1" r="176/255" g="224/255" b="230/255" /> + <vis name="purple" alpha="1" r="128/255" g="0/255" b="128/255" /> + <vis name="rebeccapurple" alpha="1" r="102/255" g="51/255" b="153/255" /> + <vis name="red" alpha="1" r="255/255" g="0/255" b="0/255" /> + <vis name="rosybrown" alpha="1" r="188/255" g="143/255" b="143/255" /> + <vis name="royalblue" alpha="1" r="65/255" g="105/255" b="225/255" /> + <vis name="saddlebrown" alpha="1" r="139/255" g="69/255" b="19/255" /> + <vis name="salmon" alpha="1" r="250/255" g="128/255" b="114/255" /> + <vis name="sandybrown" alpha="1" r="244/255" g="164/255" b="96/255" /> + <vis name="seagreen" alpha="1" r="46/255" g="139/255" b="87/255" /> + <vis name="seashell" alpha="1" r="255/255" g="245/255" b="238/255" /> + <vis name="sienna" alpha="1" r="160/255" g="82/255" b="45/255" /> + <vis name="silver" alpha="1" r="192/255" g="192/255" b="192/255" /> + <vis name="skyblue" alpha="1" r="135/255" g="206/255" b="235/255" /> + <vis name="slateblue" alpha="1" r="106/255" g="90/255" b="205/255" /> + <vis name="slategray" alpha="1" r="112/255" g="128/255" b="144/255" /> + <vis name="slategrey" alpha="1" r="112/255" g="128/255" b="144/255" /> + <vis name="snow" alpha="1" r="255/255" g="250/255" b="250/255" /> + <vis name="springgreen" alpha="1" r="0/255" g="255/255" b="127/255" /> + <vis name="steelblue" alpha="1" r="70/255" g="130/255" b="180/255" /> + <vis name="tan" alpha="1" r="210/255" g="180/255" b="140/255" /> + <vis name="teal" alpha="1" r="0/255" g="128/255" b="128/255" /> + <vis name="thistle" alpha="1" r="216/255" g="191/255" b="216/255" /> + <vis name="tomato" alpha="1" r="255/255" g="99/255" b="71/255" /> + <vis name="turquoise" alpha="1" r="64/255" g="224/255" b="208/255" /> + <vis name="violet" alpha="1" r="238/255" g="130/255" b="238/255" /> + <vis name="wheat" alpha="1" r="245/255" g="222/255" b="179/255" /> + <vis name="white" alpha="1" r="255/255" g="255/255" b="255/255" /> + <vis name="whitesmoke" alpha="1" r="245/255" g="245/255" b="245/255" /> + <vis name="yellow" alpha="1" r="255/255" g="255/255" b="0/255" /> + <vis name="yellowgreen" alpha="1" r="154/255" g="205/255" b="50/255" /> </display> diff --git a/compact/display.xml b/compact/display.xml index 4b54d080b325ae84abd018b72b5e6a7293041650..8171e652928ce07612e195db4e819dab1c5be2f6 100644 --- a/compact/display.xml +++ b/compact/display.xml @@ -1,5 +1,5 @@ <!-- SPDX-License-Identifier: LGPL-3.0-or-later --> -<!-- Copyright (C) 2022 Sylvester Joosten, Whitney Armstrong, Zhenyu Ye, Christopher Dilks --> +<!-- Copyright (C) 2024 Chao Peng --> <display> @@ -11,186 +11,12 @@ <vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/> <comment> - Tracking Visualizations - </comment> - <vis name="TrackerVis" ref="AnlGold" /> - <vis name="TrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="true" /> - <vis name="TrackerServiceVis" ref="AnlViolet" showDaughters="false" /> - <vis name="TrackerLayerVis" ref="AnlGold" visible="true" showDaughters="true" /> - <vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> - <vis name="TrackerMPGDVis" ref="AnlRed" visible="true" showDaughters="false" /> - <comment> Visualization for Barrel MMGAS (apply to layers) and GEM endcap (apply to modules) </comment> - <vis name="TrackerGEMModuleVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" /> - <vis name="TrackerMMGASLayerVis" ref="TrackerMPGDVis" visible="true" showDaughters="false" /> - - <vis name="VertexLayerVis" ref="AnlGold" visible="true" showDaughters="true" /> - <vis name="VertexSupportLayerVis" ref="AnlBlue" visible="true" showDaughters="false" /> - <vis name="VertexSupportVis" ref="VertexSupportLayerVis" visible="true" showDaughters="true" /> - <vis name="VertexModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="false" /> - - <vis name="TOFVis" ref="AnlTeal" visible="true" showDaughters="true"/> - <vis name="TOFLayerVis" ref="TOFVis" visible="true" showdaughters="true"/> - <vis name="TOFModuleVis" ref="TOFVis" visible="true" showdaughters="true"/> - <vis name="TOFSupportVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/> - <vis name="TOFSensorVis" ref="TOFVis" visible="true" showDaughters="true"/> - <comment> By default don't display the barrel module details </comment> - <vis name="TOFBarrelModuleVis" ref="TOFVis" visible="true" showdaughters="true"/> - <comment> extra detailed vizualizations for the barrel </comment> - <vis name="TOFHybridVis" ref="AnlGold" visible="true" showDaughters="true"/> - <vis name="TOFCoolingTube" ref="AnlRed" visible="true" showDaughters="true"/> - <vis name="TOFCoolant" ref="TrackerServiceVis" visible="true" showDaughters="true"/> - <vis name="TOFWater" ref="AnlBlue" visible="true" showDaughters="true"/> - <vis name="TOFAluminum" ref="AnlLightGray" visible="true" showDaughters="true"/> - <vis name="TOFActiveMat" ref="AnlGreen" visible="true" showDaughters="true"/> - <vis name="TOFLayers" ref="AnlBlue" visible="true" showDaughters="true"/> - <vis name="TOFSensorAndReadoutLadder" ref="AnlGold" visible="true" showDaughters="true"/> - <vis name="TOFCSkinVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/> - <vis name="TOFCFoamVis" ref="TrackerSupportVis" visible="true" showDaughters="true"/> - <vis name="TOFCHoneycombVis" ref="TrackerServiceVis" visible="true" showDaughters="true"/> - - - <vis name="FFTrackerVis" ref="AnlRed" /> - <vis name="FFTrackerSupportVis" ref="AnlBlue" visible="true" showDaughters="false" /> - <vis name="FFTrackerShieldingVis" ref="AnlGray" visible="true" showDaughters="false" /> - <vis name="FFTrackerServiceVis" ref="AnlGold" visible="true" showDaughters="false" /> - <vis name="FFTrackerLayerVis" ref="TrackerVis" visible="true" showDaughters="true" /> - <vis name="FFTrackerModuleVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" /> - <vis name="FFTrackerSurfaceVis" ref="FFTrackerLayerVis" visible="true" showDaughters="true" /> - <comment> For shielded modules by default just display to module instead of 6 layers </comment> - <vis name="FFTrackerShieldedModuleVis" ref="FFTrackerModuleVis" visible="true" showDaughters="false" /> - - <comment> - Luminosity Visualisation - </comment> - <vis name="LumiSpecCAL_ModuleVis" ref="AnlGold" alpha="0.5" visible="true" showDaughters="true"/> - <vis name="LumiSpecCAL_FiberVis" ref="AnlRed" alpha="0.8" visible="true"/> - <vis name="LumiSpecCAL_FiberHolderVis" ref="AnlBlue" alpha="1.0" visible="true"/> - - - <comment> - ECal Vis - </comment> - <vis name="EcalVis" ref="AnlGold" showDaughters="true" visible="true"/> - <vis name="EcalBarrelVis" ref="AnlGold" showDaughters="false" visible="true"/> - <vis name="EcalBarrelSectorVis" ref="AnlGold" showDaughters="true" visible="true"/> - <vis name="EcalBarrelStaveVis" ref="AnlOrange" showDaughters="false" visible="true" /> - <vis name="EcalBarrelEnvelopeVis" ref="AnlGold" showDaughters="false" visible="true" /> - <vis name="EcalBarrelLayerVis" ref="AnlGold" showDaughters="true" visible="true"/> - <vis name="EcalBarrelModuleVis" ref="AnlRed" showDaughters="false" visible="true" /> - <vis name="EcalBarrelSliceVis" ref="AnlGray" showDaughters="false" visible="true"/> - <vis name="EcalBarrelFiberLayerVis" ref="AnlGold" showDaughters="false" visible="true" /> - <vis name="EcalBarrelSupportVis" ref="AnlLightGray" showDaughters="false" visible="true"/> - - <vis name="EcalEndcapVis" ref="AnlGold" showDaughters="true" visible="false"/> - <vis name="EcalEndcapLayerVis" ref="AnlGold" showDaughters="false" visible="true"/> - <vis name="EcalEndcapBlockVis" ref="AnlGold" showDaughters="false" visible="true"/> - - <vis name="EcalEndcapNModuleVis" ref="AnlGold" showDaughters="false" visible="true"/> - - <vis name="FFPreVis" ref="AnlGold" showDaughters="true" visible="true"/> - <vis name="FFPreLayerVis" ref="FFPreVis" showDaughters="true" visible="true"/> - <vis name="FFPreModuleVis" ref="FFPreLayerVis" showDaughters="true" visible="true"/> - <vis name="FFPreRadiatorVis" ref="FFPreModuleVis" showDaughters="true" visible="true"/> - <vis name="FFPreReadoutVis" ref="FFTrackerSurfaceVis" showDaughters="true" visible="true"/> - - <comment> - HCal Vis - </comment> - <vis name="HcalVis" ref="AnlBlue" showDaughters="true" visible="true"/> - <vis name="HcalBarrelVis" ref="AnlBlue" showDaughters="true" visible="true"/> - <vis name="HcalBarrelStaveVis" ref="AnlBlue" showDaughters="false" visible="true"/> - <vis name="HcalBarrelLayerVis" ref="AnlBlue" showDaughters="false" visible="true"/> - <vis name="HcalEndcapVis" ref="AnlBlue" showDaughters="false" visible="true"/> - <vis name="HcalEndcapLayerVis" ref="AnlBlue" showDaughters="false" visible="true"/> - <vis name="HcalSensorVis" ref="AnlBlue" showDaughters="false" visible="false"/> - <vis name="HcalAbsorberVis" ref="AnlGray" showDaughters="false" visible="false"/> - <vis name="HcalEndcapInsertVis" ref="AnlGray" showDaughters="false" visible="true"/> - <vis name="LFHCALVis" ref="AnlBlue" showDaughters="true" visible="true"/> - <vis name="FluxEndcapNVis" ref="AnlGray" showDaughters="true" visible="false"/> - <vis name="FluxEndcapNLayerVis" ref="AnlViolet" showDaughters="false" visible="true"/> - <comment> - Passive steel for flux return - </comment> - <vis name="PassiveSteelVis" ref="AnlViolet" showDaughters="false" visible="true"/> - - <comment> - Solenoid - </comment> - <vis name="SolenoidCoilVis" ref="AnlLightGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /> - <vis name="SolenoidCryostatVis" ref="AnlGray" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" /> - <vis name="SolenoidYokeVis" ref="AnlLight_Gray" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" /> - - - <comment> - PID Detectors - </comment> - <vis name="RICHVis" ref="AnlTeal" showDaughters="true"/> - - <vis name="DIRCVis" ref="AnlTeal" showDaughters="true" visible="true"/> - <vis name="DIRCLayerVis" ref="AnlTeal" showDaughters="true" visible="true"/> - <vis name="DIRCModuleVis" ref="AnlTeal" showDaughters="true" visible="true"/> - <vis name="DIRCSupportVis" ref="AnlTeal" showDaughters="true" visible="true"/> - <vis name="DIRCFrameVis" ref="AnlOrange" showDaughters="true" visible="true"/> - <vis name="DIRCBarVis" ref="AnlTeal" showDaughters="true" visible="true"/> - - <comment> - Beam line with magnets - </comment> - <vis name="BeamPipeVis" ref="AnlLightGray" showDaughters="true" visible="true"/> - <vis name="FFMagnetVis" ref="AnlGreen" showDaughters="true" visible="true"/> - <vis name="FFMagnetCoilVis" ref="AnlRed" showDaughters="true" visible="true"/> - - <comment> - ZDC visualization - </comment> - - <vis name="ZDC_Ecal_Vis" ref="AnlGreen" showDaughters="true" visible="true"/> - <vis name="ZDC_Ecal_module_Vis" ref="AnlRed" showDaughters="false" visible="true"/> - <vis name="ZDC_Hcal_Vis" ref="AnlBlue" showDaughters="true" visible="true"/> - - <comment> - Backwards beamline vacuum - </comment> - <vis name="BackwardsBox" alpha="0.3" ref="AnlGray" showDaughters="true" visible="true"/> - <vis name="BackwardsAir" alpha="0.7" ref="AnlBlue" showDaughters="true" visible="true"/> - <vis name="BackwardsVac" alpha="0.1" ref="AnlLight_Gray" showDaughters="true" visible="true"/> - - <comment> - PID visualization - </comment> - <vis name="TOF_envelope" ref="AnlBlue" drawingStyle="wireframe" showDaughters="true" visible="true" /> - - <vis name="DRICH_vessel_vis" ref="AnlGray" showDaughters="true" visible="true" /> - <vis name="DRICH_gas_vis" ref="AnlGreen" showDaughters="true" visible="true" alpha="0.5" /> - <vis name="DRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" /> - <vis name="DRICH_filter_vis" ref="AnlGold" showDaughters="true" visible="true" /> - <vis name="DRICH_mirror_vis" ref="AnlLightGray" showDaughters="true" visible="true" /> - <vis name="DRICH_sensor_vis" ref="AnlBlue" showDaughters="true" visible="true" /> - <vis name="DRICH_service_vis" ref="AnlGreen" showDaughters="true" visible="true" /> - - <vis name="MRICH_aerogel_vis" ref="AnlTeal" showDaughters="true" visible="true" /> - <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" /> - <vis name="MRICH_lens_vis" ref="AnlGray" showDaughters="true" visible="true" /> - <vis name="MRICH_mirror_vis" ref="AnlGray" showDaughters="true" visible="true" /> - - <vis name="RICHServiceVis" ref="AnlGray" showDaughters="true" visible="true" /> - - <comment> - Deprecated colors. - vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/ - vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/ - vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/ - vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" / - vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/ - vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/ - vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/ - vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/ - vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/ - vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/ - vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/ - vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/ - vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/ - vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/ + Light Gas Cherenkov Visualizations </comment> + <vis name="LGCTankVis" ref="orange" visible="true" showDaughters="true" alpha="0.3" /> + <vis name="LGCMirrorVis" ref="silver" visible="true" showDaughters="true" alpha="0.6" /> + <vis name="LGCConeVis" ref="silver" visible="true" showDaughters="true" alpha="0.6" /> + <vis name="LGCPMTVis" ref="saddlebrown" visible="true" showDaughters="true" alpha="0.6" /> + <vis name="LGCShieldVis" ref="darkslategray" visible="true" showDaughters="true" alpha="0.6" /> </display> diff --git a/src/GasCherenkov_geo.cpp b/src/GasCherenkov_geo.cpp index c8b5a14f7a2c4a4e8edf717c08a07e2a876b820d..feae41f1c4faa66329ea549ebcbfbe558c25dd52 100644 --- a/src/GasCherenkov_geo.cpp +++ b/src/GasCherenkov_geo.cpp @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +// Copyright (C) 2024 Chao Peng + #include "DD4hep/DetFactoryHelper.h" #include "DD4hep/OpticalSurfaces.h" #include "DD4hep/Printout.h" @@ -10,19 +13,6 @@ using namespace dd4hep; using namespace dd4hep::rec; -/** \addtogroup PID Particle ID Detectors - */ -/** \addtogroup ThresholdGasCherenkov Light Gas (threshold) Cherenkov detector. - * \brief Type: **ThresholdGasCherenkov**. - * \ingroup PID - * - * \code - * <detector> - * </detector> - * \endcode - * - * @{ - */ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetector sens) { xml::DetElement x_det = handle; @@ -66,7 +56,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec } v_tank = Volume("v_gas_tank", tank_union, rad_mat); } - v_tank.setVisAttributes(desc, dd4hep::getAttrOrDefault<std::string>(x_det, _Unicode(vis), "BlueVis")); + v_tank.setVisAttributes(desc, x_tank.attr<std::string>(_Unicode(vis))); Volume motherVol = desc.pickMotherVolume(det); // z value to shift the center of the envelope from its first segment's center to the very beginning double shift_z = tank_lengths[0]/2.; @@ -121,6 +111,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec PlacedVolume pv_mir = v_sector.placeVolume(v_mir, Position(mpl.x(), mpl.y(), mpl.z() - shift_z)); DetElement de_mir(det, "de_mirror_" + std::to_string(mid), mid); de_mir.setPlacement(pv_mir); + v_mir.setVisAttributes(desc, x_mir.attr<std::string>(_Unicode(vis))); // optical surface auto msurf = surfMgr.opticalSurface(x_mir.attr<std::string>(_Unicode(surface))); @@ -158,6 +149,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec PlacedVolume pv_pmt_array = winston_assem.placeVolume(v_pmt_array, Position(0., 0., 0.)); pv_pmt_array.addPhysVolID("module", 1); de_pmt_array.setPlacement(pv_pmt_array); + v_pmt_array.setVisAttributes(desc, x_pmt.attr<std::string>(_Unicode(vis))); // build cone (its end touches the PMT surface) xml_dim_t x_cone = x_winston.child(_Unicode(cone)); @@ -173,6 +165,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec Volume v_winston_cone("v_winston_cone", winston_cone_solid, winston_mat); PlacedVolume pv_winston_cone = winston_assem.placeVolume(v_winston_cone, Position(0., 0., (cone_length + pmt_dz)/2.)); de_winston_cone.setPlacement(pv_winston_cone); + v_winston_cone.setVisAttributes(desc, x_cone.attr<std::string>(_Unicode(vis))); // optical surface auto wsurf = surfMgr.opticalSurface(x_winston.attr<std::string>(_Unicode(surface))); @@ -190,10 +183,9 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec Volume v_winston_shield("v_winston_shield", winston_shield_solid, shield_mat); // wrapping around PMT winston_assem.placeVolume(v_winston_shield, Position(0., 0., x_shield.attr<double>(_Unicode(shift_z)))); + v_winston_shield.setVisAttributes(desc, x_shield.attr<std::string>(_Unicode(vis))); return det; } -//@} -// clang-format off DECLARE_DETELEMENT(SoLID_GasCherenkov, createDetector)