From 4b10fe9941d0ae7f6eda33d195a06296bfd9acb9 Mon Sep 17 00:00:00 2001
From: Whitney Armstrong <warmstrong@anl.gov>
Date: Wed, 24 Mar 2021 12:44:04 -0500
Subject: [PATCH] 	new file:   compact/display.xml 	renamed:   
 elements.xml -> compact/elements.xml 	renamed:    materials.xml ->
 compact/materials.xml 	modified:   reference_detector.xml

---
 compact/display.xml                    |  69 ++++++++++
 elements.xml => compact/elements.xml   |   0
 materials.xml => compact/materials.xml |   3 +-
 reference_detector.xml                 | 167 +++++++++++++++++--------
 4 files changed, 185 insertions(+), 54 deletions(-)
 create mode 100644 compact/display.xml
 rename elements.xml => compact/elements.xml (100%)
 rename materials.xml => compact/materials.xml (99%)

diff --git a/compact/display.xml b/compact/display.xml
new file mode 100644
index 00000000..c0fb0f78
--- /dev/null
+++ b/compact/display.xml
@@ -0,0 +1,69 @@
+  <display>
+
+    <vis name="Argonne_Green"        alpha="1" r="119/255" g="179/255" b="0"/>
+    <vis name="Argonne_Violet"       alpha="1" r="91/256" g="0" b="145/256"/>
+    <vis name="Argonne_Process_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
+    <vis name="Argonne_Orange"       alpha="1" r="255/256" g="121/256" b="0"/>
+    <vis name="Argonne_Red"          alpha="1" r="205/256" g="32/256" b="44/256"/>
+    <vis name="Argonne_Gold"         alpha="1" r="248/256" g="178/256" b="0/256"/>
+    <vis name="Argonne_Blue"         alpha="1" r="0/256" g="96/256" b="156/256"/>
+    <vis name="Argonne_Teal"         alpha="1" r="0/256" g="161/256" b="156/256"/>
+    <vis name="Argonne_Gray"         alpha="1" r="102/256" g="102/256" b="102/256"/>
+    <vis name="Argonne_Light_Gray"   alpha="1" r="209/256" g="209/256" b="209/256"/>
+    <vis name="Argonne_Off_White"    alpha="1" r="242/256" g="242/256" b="242/256"/>
+    <vis name="Argonne_Delta_Red"    alpha="1" r="161/256" g="43/256" b="47/256"/>
+    <vis name="Argonne_Delta_Green"  alpha="1" r="0" g="120/256" b="54/256"/>
+    <vis name="Argonne_Delta_Blue"   alpha="1" r="11/256" g="31/256" b="143/256"/>
+
+    <vis name="Argonne_Red_1"        alpha="0.5" r="205/256" g="32/256" b="44/256"/>
+
+    <comment>Tracker_Layer_Vis is Argonne_Gold</comment>
+    <vis name="Tracker_Layer_Vis"  alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" />
+
+    <vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
+    <vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
+
+    <vis name="SiVertexVis" alpha="0.9" r="1" g="0" b="1" showDaughters="true" />
+    <vis name="SiTrackerBarrelVis" alpha="0.5" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="SiTrackerVis" alpha="0.9" r="1.0" g="0.0" b="0.0" showDaughters="true" lineStyle="solid"  drawingStyle="solid" />
+    <vis name="TrackerLayerVis" alpha="0.9" r="0.0" g="1.0" b="0.0" visible="true"  showDaughters="true" />
+
+    <vis name="SiTrackerBarrelVis1" alpha="0.8" r="0.0" g="0.9" b="0.9" showDaughters="true" />
+    <vis name="SiTrackerBarrelVis2" alpha="0.8" r="0.1" g="0.9" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="SiTrackerEndcapVis1" alpha="0.8" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
+    <vis name="SiTrackerEndcapVis2" alpha="0.8" r="1.0" g="0.45" b="0.0" showDaughters="false" visible="true"/>
+    <vis name="SiTrackerSubAssemblyVis" alpha="1" r="0.0" g="0.99" b="0.0" showDaughters="true" visible="true"/>
+    <vis name="SiTrackerLayerVis" alpha="1" r="0.0" g="1" b="0.0" showDaughters="true" visible="true"  lineStyle="solid"  drawingStyle="solid" />
+
+    <vis name="EcalVis" alpha="0.1" r="0.0" g="0.75" b="0.1" showDaughters="false"/>
+    <vis name="EcalEndcapVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
+    <vis name="EcalBarrelVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
+    <vis name="HcalVis" alpha="0.9" r="0.75" g="0.0" b="0.0" showDaughters="false"/>
+    <vis name="HcalBarrelVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
+    <vis name="HcalEndcapVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
+
+    <vis name="SolenoidCoilVis" alpha="1.0" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
+    <vis name="SolenoidCryostatVis" alpha="0.4" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
+    <vis name="SolenoidYokeVis" alpha="0.2" r="0.8" g="0.1" b="0.1" showDaughters="false" visible="true" lineStyle="solid"  drawingStyle="solid" />
+    <vis name="RICHVis" alpha="0.5" r="1" g="0" b="1" showDaughters="false"/>
+    <vis name="BeamPipeVis"    alpha="1"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
+
+
+    <comment>
+      Deprecated colors.
+    </comment>
+    <vis name="GreenVis"       alpha="0.2"  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="0.2"  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="0.5"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
+  </display>
diff --git a/elements.xml b/compact/elements.xml
similarity index 100%
rename from elements.xml
rename to compact/elements.xml
diff --git a/materials.xml b/compact/materials.xml
similarity index 99%
rename from materials.xml
rename to compact/materials.xml
index 427befe8..f6f705f6 100644
--- a/materials.xml
+++ b/compact/materials.xml
@@ -2,6 +2,7 @@
 <materials>
   <!--
        Air by weight from
+
        http://www.engineeringtoolbox.com/air-composition-24_212.html
   -->
   <material name="Air">
@@ -12,7 +13,7 @@
   </material>
   <!-- We model vakuum just as very thin air -->
   <material name="Vacuum">
-    <D type="density" unit="g/cm3" value="1.e-25"/>
+    <D type="density" unit="g/cm3" value="0.0000000001"/>
     <fraction n="0.754" ref="N"/>
     <fraction n="0.234" ref="O"/>
     <fraction n="0.012" ref="Ar"/>
diff --git a/reference_detector.xml b/reference_detector.xml
index 83ff3cdb..f7e63e45 100644
--- a/reference_detector.xml
+++ b/reference_detector.xml
@@ -1,71 +1,132 @@
-<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
-       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
-
-  <!-- Some information about detector  -->
-  <info name="Test Detector" title="Test Detector"
-        author="Jihee Kim"
-	url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
-	status="development"
-	version="v1 2021-03-16">
-    <comment>Test Detector</comment>        
+<?xml version="1.0" encoding="UTF-8"?>
+<lccdd>
+  <info 
+    name="reference_detector" 
+    title="reference_detector" 
+    author="Whitney R. Armstrong" 
+    url="" 
+    status="development" 
+    version="$Id: 1$">
+    <comment> </comment>
   </info>
 
-  <!-- Use DD4hep elements and materials definitions -->
+  <define>
+    <include ref="compact/reference_detector_defs.xml" />
+    <!--
+    <include ref="eic/eic_defs.xml" />
+    -->
+  </define>
+
+  <properties>
+    <matrix name="RINDEX__Vacuum" coldim="2" values="
+      1.0*eV 1.0
+      5.1*eV 1.0
+      "/>
+    <matrix name="RINDEX__Air" coldim="2" values="
+      1.0*eV 1.00029
+      5.1*eV 1.00029
+      "/>
+    <matrix name="RINDEX__Quartz" coldim="2" values="
+      1.0*eV 1.46
+      5.1*eV 1.46
+      "/>
+    <matrix name="RINDEX__N2" coldim="2" values="
+      1.0*eV 1.00033
+      4.0*eV 1.00033
+      5.1*eV 1.00033
+      "/>
+    <matrix name="RINDEX__Pyrex" coldim="2" values="
+      1.0*eV 1.5
+      4.0*eV 1.5
+      5.1*eV 1.5
+      "/>
+    <matrix name= "REFLECTIVITY_mirror" coldim="2" values="
+      1.0*eV  0.9
+      4.0*eV  0.9
+      5.1*eV  0.9
+    "/>
+  </properties>
+
   <includes>
-    <gdmlFile ref="elements.xml"/>
-    <gdmlFile ref="materials.xml"/>
+    <gdmlFile ref="compact/elements.xml"/>
+    <gdmlFile ref="compact/materials.xml"/>
   </includes>
 
-  <!-- Define the dimensions of the world volume -->
-  <define>
-    <constant name="world_side" value="50*m"/>
-    <constant name="world_x"    value="world_side"/>
-    <constant name="world_y"    value="world_side"/>
-    <constant name="world_z"    value="world_side"/>
-
-    <constant name="tracker_region_zmax" value="6 * m"/>
-    <constant name="tracker_region_rmax" value="6 * m"/>
+  <materials>
+    <material name="AirOptical">
+      <D type="density" unit="g/cm3" value="0.0012"/>
+      <fraction n="0.754" ref="N"/>
+      <fraction n="0.234" ref="O"/>
+      <fraction n="0.012" ref="Ar"/>
+      <property name="RINDEX" ref="RINDEX__Vacuum"/>
+    </material>
+    <material name="N2cherenkov">
+      <D type="density" value="0.00125" unit="g/cm3"/>
+      <composite n="1" ref="N"/>
+      <property name="RINDEX"  ref="RINDEX__N2"/>
+    </material>
+    <material name="PyrexGlass">
+      <D type="density" value="2.23" unit="g/cm3"/>
+      <fraction n="0.806" ref="SiliconOxide"/>
+      <fraction n="0.130" ref="BoronOxide"/>
+      <fraction n="0.040" ref="SodiumOxide"/>
+      <fraction n="0.023" ref="AluminumOxide"/>
+      <property name="RINDEX" ref="RINDEX__Pyrex"/>
+    </material>
+  </materials>
 
-    <constant name="TestDetector_ID"           value="999"/>
-    <constant name="TestDetector_inner_radius" value="10.0 * cm"/>
-    <constant name="TestDetector_rmin"         value="10.0 * cm"/>
-    <constant name="TestDetector_thickness"    value="100.0 * cm"/>
-    <constant name="TestDetector_inner_z"      value="40.0 * cm"/>
-    <constant name="TestDetector_angle"        value="0.0 * rad"/>
-  </define>
+  <surfaces>
+    <comment> For the values of "finish", model and type, see TGeoOpticalSurface.h !
+    </comment>
+    <opticalsurface finish="polished" model="glisur" name="MirrorOpticalSurface" type="dielectric_metal" value="0">
+      <property name="REFLECTIVITY" ref="REFLECTIVITY_mirror"/>
+      <property name="RINDEX"       coldim="2" values="1.034*eV  1.5   4.136*eV  1.5"/>
+      <!--<property name="EFFICIENCY"   ref="EFFICIENCY0x8b77240"/>-->
+    </opticalsurface>
+    <opticalsurface name="mirror2" finish="polished" model="glisur" type="dielectric_dielectric">
+      <property name="REFLECTIVITY"            coldim="2" values="1.034*eV  0.8   4.136*eV  0.9"/>
+      <property name="EFFICIENCY"              coldim="2" values="2.034*eV  0.8   4.136*eV  1.0"/>
+      <property name="RINDEX"                  coldim="2" values="1.034*eV  1.5   4.136*eV  1.5"/>
+    </opticalsurface>
 
+  </surfaces>
   <limits>
+    <limitset name="EICBeamlineLimits">
+      <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
+      <limit name="track_length_max" particles="*" value="1.0" unit="mm" />
+      <limit name="time_max" particles="*" value="0.1" unit="ns" />
+      <limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
+      <limit name="range_min" particles="*" value="0.1" unit="mm" />
+    </limitset>
+    <limitset name="cal_limits">
+      <limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
+    </limitset>
   </limits>
 
-  <regions>
-  </regions>
-
-  <!-- Common Generic visualization attributes -->
-  <comment>Common Generic visualization attributes</comment>
   <display>
-    <vis name="TestDetectorVis" alpha="0.4"  r= "0.1"  g="0.0"  b="0.1"  showDaughters="true" visible="true"/>
+  <include ref="compact/display.xml" />
   </display>
 
-  <!-- Define detector -->
+  <!--
+  <include ref="reference_detector/vertex_tracker.xml"/>
+  <include ref="compact/beampipe.xml"/>
+  <include ref="compact/silicon_tracker.xml"/>
+  -->
+  <include ref="compact/ecal.xml"/>
+  <!--
+  <include ref="compact/solenoid.xml"/>
+  <include ref="compact/hcal.xml"/>
+  <include ref="compact/reference_detector_rich.xml"/>
+  <include ref="compact/roman_pots.xml"/>
+  -->
+  <!--
+  <include ref="eic/forward_ion_beamline.xml"/>
+  -->
+
   <detectors>
-    <comment>
-      Central Barrel Solenoid Magnet
-    </comment>
-    <detector id="TestDetector_ID" name="TestDetector" type="TestDetector" vis="TestDetectorVis">
-      <dimensions inner_radius="TestDetector_inner_radius" 
-	          rmin="TestDetector_rmin" 
-	          thickness="TestDetector_thickness" 
-	          inner_z="TestDetector_inner_z" 
-	          angle="TestDetector_angle"/>
-      <material name="Steel235"/>
-    </detector>
   </detectors>
+  <readouts>
+  </readouts>
 
-  <plugins>
-  </plugins>
-
-  <fields>
-  </fields>
 
 </lccdd>
-- 
GitLab