From 7404f5e426814165d4f12115a819a4ec7e1b1e49 Mon Sep 17 00:00:00 2001
From: Sylvester Joosten <sjoosten@anl.gov>
Date: Wed, 18 Aug 2021 02:59:11 +0000
Subject: [PATCH] setup system to finetune geoviewer independently

---
 .gitlab-ci.yml                |   1 +
 compact/dirc.xml              |  16 ++---
 compact/display.xml           |   5 ++
 compact/display_geoviewer.xml | 123 ++++++++++++++++++++++++++++++++++
 compact/fake_dirc.xml         |   2 +-
 compact/mrich.xml             |   8 +--
 6 files changed, 142 insertions(+), 13 deletions(-)
 create mode 100644 compact/display_geoviewer.xml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 458c7676..be82eb58 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -110,6 +110,7 @@ dump_geometry:
     - mkdir -p geo
     ## subsystem views
     - |
+      mv ${DETECTOR_PATH}/compact/display_geoviewer.xml ${DETECTOR_PATH}/compact/display.xml
       for xml in ${DETECTOR_PATH}/compact/subsystem_views/*.xml; do
         geo_name=`basename $xml .xml`_geo.root
         cp $xml ${DETECTOR_PATH}/geo.xml
diff --git a/compact/dirc.xml b/compact/dirc.xml
index 9b69c1af..3515080d 100644
--- a/compact/dirc.xml
+++ b/compact/dirc.xml
@@ -21,12 +21,12 @@
   </comment>
 
   <define>
-    <constant name="DIRC_rmin"             value="BarrelTracking_rmax-11*cm"/>
+    <constant name="DIRCFake_rmin"             value="BarrelTracking_rmax-11*cm"/>
     <constant name="DIRC_rotation"         value="pi" comment="Allows DIRC flip"/>
     <!-- <constant name="cb_DIRC_length"    value="DIRCLength"/> -->
     <!-- CLEANUP THIS if not sure. This is from the initial implementation
     <constant name="DIRC_length"            value="285.500*cm"/>
-    <constant name="DIRC_rmin"              value="82.00*cm"/>-->
+    <constant name="DIRCFake_rmin"              value="82.00*cm"/>-->
 
     <!-- Prism -->
     <constant name="DIRCPrism_width"        value="360*mm"/>
@@ -37,8 +37,8 @@
     <constant name="DIRCPrism_height"       value="DIRCPrism_long_edge"/>
 
     <!-- DIRC length -->
-    <constant name="DIRC_length"           value="DIRCFull_length - DIRCPrism_length"/>
-    <constant name="DIRC_offset"           value="(CentralTracking_length - DIRC_length)/2.0 - DIRCExtra_offset"/>
+    <constant name="DIRCMain_length"           value="DIRC_length"/>
+    <constant name="DIRCFake_offset"           value="DIRC_offset-20*cm"/>
 
     <!-- Box - main DIRC modules -->
     <constant name="DIRCBox_count"          value="16"  comment="Number of DIRC boxes per... DIRC. 16 - default"/>
@@ -64,7 +64,7 @@
 
     <!-- Bar - Each DIRC box consists of N "bars" -->
     <!-- BarAssembly - Bars + Glue -->
-    <constant name="DIRCBarAssm_length"     value="DIRC_length - DIRCPrism_length - DIRCMirror_thickness - DIRCLens_thickness - DIRCFd_thickness" comment="Length of bars+glue assembly"/>
+    <constant name="DIRCBarAssm_length"     value="DIRCMain_length - DIRCPrism_length - DIRCMirror_thickness - DIRCLens_thickness - DIRCFd_thickness" comment="Length of bars+glue assembly"/>
     <constant name="DIRCBar_count"          value="11" comment="Number of bars per box"/>
     <constant name="DIRCBar_gap"            value="0.15 * mm"/>
     <constant name="DIRCBar_height"         value="17 * mm"/>
@@ -77,7 +77,7 @@
       RMax is calculated according to "rectangle inside ring" problem solution
       https://math.stackexchange.com/questions/4222684/calculate-rectangle-inside-ring-parameters/4222691#4222691
     </comment>
-    <constant name="DIRC_rmax"              value="sqrt( (DIRC_rmin+DIRCPrism_height)^2 + 0.25*(DIRCPrism_height)^2 )"/>
+    <constant name="DIRCFake_rmax"              value="sqrt( (DIRCFake_rmin+DIRCPrism_height)^2 + 0.25*(DIRCPrism_height)^2 )"/>
   </define>
 
   <materials>
@@ -121,8 +121,8 @@
 
   <detectors>
     <detector id="BarrelDIRC_ID" name="cb_DIRC" type="cb_DIRC" readout="DIRCBarHits" vis="DIRCTube">
-      <dimensions rmin="DIRC_rmin" rmax="DIRC_rmax" length="DIRC_length" radius="DIRCRadius" dx="DIRCBars_DX" dy="DIRCBars_DY" number="DIRCNum" deltaphi="DIRCDPhi"/>
-      <position x="0" y="0" z="DIRC_offset"/>
+      <dimensions rmin="DIRCFake_rmin" rmax="DIRCFake_rmax" length="DIRCMain_length" radius="DIRCRadius" dx="DIRCBars_DX" dy="DIRCBars_DY" number="DIRCNum" deltaphi="DIRCDPhi"/>
+      <position x="0" y="0" z="DIRCFake_offset"/>
       <rotation theta="DIRC_rotation"/>
       <module name="DircBox" R="DIRCRadius" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
         <!-- Mirror (at the end of the module) -->
diff --git a/compact/display.xml b/compact/display.xml
index 2f8df0d0..d9a43a12 100644
--- a/compact/display.xml
+++ b/compact/display.xml
@@ -94,6 +94,11 @@
     <vis name="DRICH_mirror_vis"  alpha="1.0" r="0.5" g="0.5" b="0.5" showDaughters="true" visible="true" />
     <vis name="DRICH_sensor_vis"  alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
 
+    <vis name="MRICH_aerogel_vis" alpha="1.0" r="0.0" g="1.0" b="1.0" showDaughters="true" visible="true" />
+    <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
+    <vis name="MRICH_lens_vis" ref="AnlViolet" showDaughters="true" visible="true" />
+    <vis name="MRICH_mirror_vis"  ref="AnlGray" showDaughters="true" visible="true" />
+
   </display>
 
     <comment>
diff --git a/compact/display_geoviewer.xml b/compact/display_geoviewer.xml
new file mode 100644
index 00000000..9b649161
--- /dev/null
+++ b/compact/display_geoviewer.xml
@@ -0,0 +1,123 @@
+  <display>
+
+    <comment>
+      See compact/colors.xml for list of colors.
+    </comment>
+
+    <vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
+    <vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
+
+    <comment>
+      Tracking Visualizations
+    </comment>
+    <vis name="TrackerVis"        ref="AnlRed"      />
+    <vis name="TrackerSupportVis" ref="AnlBlue"         visible="true"  showDaughters="true" />
+    <vis name="TrackerLayerVis"   ref="AnlTeal"         visible="true"  showDaughters="true" />
+    <vis name="TrackerSubassemblyVis"   ref="TrackerLayerVis"/>
+    <vis name="TrackerModuleVis"  ref="TrackerLayerVis" visible="true"  showDaughters="true" />
+
+    <vis name="VertexSupportVis" ref="AnlBlue"         visible="true"  showDaughters="true" />
+    <vis name="VertexLayerVis"   ref="AnlTeal"         visible="true"  showDaughters="true" />
+    <vis name="VertexModuleVis"  ref="TrackerLayerVis" visible="true"  showDaughters="true" />
+
+    <vis name="TOFVis" ref="AnlGreen" showDaughters="true" visible="true"/>
+
+    <comment>
+      ECal Vis
+    </comment>
+    <vis name="EcalVis"                 ref="AnlGold"   showDaughters="true"  visible="true"/>
+    <vis name="EcalEndcapVis"           ref="AnlGold"   showDaughters="true" visible="true"/>
+    <vis name="EcalBarrelVis"           ref="AnlGold"   showDaughters="true" visible="true"/>
+    <vis name="EcalBarrelStaveVis"      ref="AnlViolet" showDaughters="true" visible="true" />
+    <vis name="EcalBarrelEnvelopeVis"   ref="AnlViolet" showDaughters="true" visible="true" />
+    <vis name="EcalBarrelSupportVis"    ref="AnlOrange" showDaughters="true" visible="true"/>
+    <vis name="EcalBarrelLayerVis"      ref="AnlBlue"   showDaughters="true"  visible="true"/>
+    <vis name="EcalBarrelSliceVis"      ref="AnlBlue"   showDaughters="false" visible="true"/>
+    <vis name="EcalBarrelFiberLayerVis" ref="AnlGold"   showDaughters="false" visible="true" />
+
+    <vis name="EcalEndcapNModuleVis"    ref="AnlTeal"   showDaughters="false" visible="true"/>
+
+    <comment>
+      HCal Vis
+    </comment>
+    <vis name="HcalVis"               ref="AnlViolet"   showDaughters="true"  visible="true"/>
+    <vis name="HcalBarrelVis"         ref="AnlViolet"   showDaughters="true"  visible="true"/>
+    <vis name="HcalBarrelStaveVis"    ref="AnlViolet"   showDaughters="false" visible="true"/>
+    <vis name="HcalBarrelLayerVis"    ref="AnlViolet"   showDaughters="true" visible="true"/>
+    <vis name="HcalEndcapVis"         ref="AnlViolet"   showDaughters="false" visible="true"/>
+    <vis name="HcalEndcapLayerVis"    ref="AnlViolet"   showDaughters="true" visible="true"/>
+    <vis name="HcalSensorVis"         ref="AnlRed"     showDaughters="true" visible="true"/>
+    <vis name="HcalAbsorberVis"       ref="AnlViolet"   showDaughters="true" visible="true"/>
+
+    <comment>
+      Solenoid
+    </comment>
+    <vis name="SolenoidCoilVis"     ref="AnlLight_Gray" 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="AnlViolet"     showDaughters="true"/>
+
+    <vis name="DIRCVis"         ref="AnlTeal"       showDaughters="true" visible="true"/>
+    <vis name="DIRCLayerVis"    ref="AnlTeal"       showDaughters="false" visible="true"/>
+    <vis name="DIRCModuleVis"   ref="AnlBlue"       showDaughters="true" visible="true"/>
+    <vis name="DIRCSupportVis"  ref="VertexSupportVis" 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
+    </comment>
+    <vis name="BeamPipeVis"  ref="AnlLight_Gray" showDaughters="true" visible="true"/>
+
+    <vis name="cb_SolenoidVis"          alpha="0.4"  r= "0.1"  g="0.0"  b="0.1"  showDaughters="true" visible="true"/>
+    <vis name="ffi_ZDC_ECAL_Vis"        alpha="0.1"  r= "0.1"  g="0.0"  b="1.0"  showDaughters="true" visible="true"/>
+    <vis name="ffi_ZDC_ECAL_module_Vis" alpha="1.0"  r= "0.1"  g="1.0"  b="0.9"  showDaughters="true" visible="true"/>
+    <vis name="ffi_ZDC_HCAL_Vis"        alpha="0.1"  r= "0.1"  g="0.0"  b="1.0"  showDaughters="true" visible="true"/>
+    <vis name="cb_CTDVis"               alpha="0.1"  r= "0.1"  g="0.0"  b="1.0"  showDaughters="true" visible="true"/>
+    <vis name="cb_CTD_Si_layerVis"      alpha="1.0"  r= "0.9"  g="1.0"  b="0.1"  showDaughters="true" visible="true"/>
+    <vis name="ce_GEMVis"               alpha="0.1"  r= "0.1"  g="0.0"  b="1.0"  showDaughters="true" visible="true"/>
+    <vis name="cb_GEM_layerVis"         alpha="0.8"  r= "0.8"  g="0.4"  b="0.3"  showDaughters="true" visible="true"/>
+    <vis name="cb_VTX_BarrelVis"        alpha="0.1"  r= "0.1"  g="0.0"  b="1.0"  showDaughters="true" visible="true"/>
+    <vis name="cb_VTX_Barrel_layerVis"  alpha="2.0"  r= "0.0"  g="0.2"  b="0.8"  showDaughters="true" visible="true"/>
+
+    <vis name="ci_GEMVis"  r= "0.8"  g="0.4"  b="0.3" alpha="0.8" showDaughters="true" visible="true"/>
+    <vis name="ci_HCALVis"  r= "0.6"  g="0"  b="0.6" alpha="1.0" showDaughters="true" visible="true"/>
+
+    <vis name="DRICH_vessel_vis"  alpha="1.0" ref="AnlGray" showDaughters="true" visible="true" />
+    <vis name="DRICH_gas_vis"     alpha="1.0" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true" />
+    <vis name="DRICH_aerogel_vis" alpha="1.0" r="0.0" g="1.0" b="1.0" showDaughters="true" visible="true" />
+    <vis name="DRICH_filter_vis"  alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
+    <vis name="DRICH_mirror_vis"  alpha="1.0" r="0.5" g="0.5" b="0.5" showDaughters="true" visible="true" />
+    <vis name="DRICH_sensor_vis"  alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true" />
+
+    <vis name="MRICH_aerogel_vis" alpha="1.0" r="0.0" g="1.0" b="1.0" showDaughters="true" visible="true" />
+    <vis name="MRICH_frame_vis" ref="AnlGold" showDaughters="true" visible="true" />
+    <vis name="MRICH_lens_vis" ref="AnlViolet" showDaughters="true" visible="true" />
+    <vis name="MRICH_mirror_vis"  ref="AnlGray" showDaughters="true" visible="true" />
+
+
+    <comment>
+      Deprecated colors used for IP6 vis
+    </comment>
+    <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"/>
+		<vis name="AnlRed_1"        alpha="0.5" r="205/256" g="32/256" b="44/256"/>
+
+  </display>
diff --git a/compact/fake_dirc.xml b/compact/fake_dirc.xml
index c0585a62..9af533ee 100644
--- a/compact/fake_dirc.xml
+++ b/compact/fake_dirc.xml
@@ -52,7 +52,7 @@
                sensitive="false"
                width="DIRCModule_width"
                thickness="DIRCSkinFront_thickness"
-               vis="VertexSupportVis"
+               vis="DIRCSupportVis"
                length="DIRCBar_length" />
         <module_component name="QuartzBar"
                material="Quartz"
diff --git a/compact/mrich.xml b/compact/mrich.xml
index a7270fb6..7a7deca8 100644
--- a/compact/mrich.xml
+++ b/compact/mrich.xml
@@ -70,17 +70,17 @@
               height="MRICHCarbonFrame_width"
               length="MRICHCarbonFrame_length">
         <frame vis="AnlGray" thickness="MRICHCarbonFrame_thickness" material="CarbonFiber"/>
-        <aerogel vis="AnlTeal"
+        <aerogel vis="MRICH_aerogel_vis"
                  length="MRICHAerogel_thickness" width="MRICHAerogel_width"
                  material="AerogelOptical">
-          <frame vis="AnlGold_1" thickness="MRICHFoam_thickness" material="PolystyreneFoam" />
+          <frame vis="MRICH_frame_vis" thickness="MRICHFoam_thickness" material="PolystyreneFoam" />
         </aerogel>
-        <lens vis="AnlViolet" thickness="MRICHFresnelLens_thickness"
+        <lens vis="MRICH_lens_vis" thickness="MRICHFresnelLens_thickness"
               pitch="MRICHFresnelLensGroove_pitch" focal_length="6.0*inch"
               effective_diameter="MRICHFresnelLensEffectiveDiameter" 
               width="MRICHAerogel_width"
               material="AcrylicOptical"/>
-        <mirror vis="AnlGray"
+        <mirror vis="MRICH_mirror_vis"
                 x1="MRICHMirror_width1" x2="MRICHMirror_width2" length="MRICHMirror_length"
                 surface="MRICH_MirrorOpticalSurface" thickness="MRICHMirror_thickness"
                 material="AluminumOxide"/>
-- 
GitLab