From d77b252f091fdcf933625d14cf6624fa7238697f Mon Sep 17 00:00:00 2001
From: Dave Casper <dcasper@uci.edu>
Date: Tue, 19 Feb 2019 02:41:19 -0800
Subject: [PATCH] Add realistic Id dictionaries for scint and tracker

---
 .../FaserDetDescr/src/FaserDetectorIDBase.cxx |  4 +-
 .../data/IdDictScintillator.xml               |  9 ++++
 .../TrackerIdDictFiles/data/IdDictTracker.xml | 44 +++++++++++++++++--
 3 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx b/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx
index ead54e86..eb987889 100644
--- a/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx
+++ b/DetectorDescription/FaserDetDescr/src/FaserDetectorIDBase.cxx
@@ -831,11 +831,11 @@ FaserDetectorIDBase::initLevelsFromDict(const IdDictMgr& dict_mgr)
         if (!field) {
             if(m_msgSvc) {
                 MsgStream log(m_msgSvc, "FaserDetectorIDBase" );
-                log << MSG::ERROR << "initLevelsFromDict - unable to find 'part' field for Tracker dictionary"
+                log << MSG::ERROR << "initLevelsFromDict - unable to find 'station' field for Tracker dictionary"
                     << endmsg;
             }
             else {
-                std::cout << "FaserDetectorIDBase::initLevelsFromDict - unable to find 'part' field for Tracker dictionary"
+                std::cout << "FaserDetectorIDBase::initLevelsFromDict - unable to find 'station' field for Tracker dictionary"
                           << std::endl;
             }
             return (1);
diff --git a/Scintillator/ScintDetDescr/ScintIdDictFiles/data/IdDictScintillator.xml b/Scintillator/ScintDetDescr/ScintIdDictFiles/data/IdDictScintillator.xml
index ddd8100b..d7cabdf6 100644
--- a/Scintillator/ScintDetDescr/ScintIdDictFiles/data/IdDictScintillator.xml
+++ b/Scintillator/ScintDetDescr/ScintIdDictFiles/data/IdDictScintillator.xml
@@ -8,13 +8,22 @@
 
   <region>
     <range field="part" value="Veto" />
+    <range field="station" minvalue="0" maxvalue="1" />
+    <range field="plate" value="0" />
+    <range field="pmt" value="0" />
   </region>
 
   <region>
     <range field="part" value="Trigger"/>
+    <range field="station" value="0" />
+    <range field="plate" minvalue="0" maxvalue="1" />
+    <range field="pmt" minvalue="0" maxvalue="1" />
   </region>
 
   <region>
     <range field="part" value="Preshower" />
+    <range field="station" minvalue="0" maxvalue="1" />
+    <range field="plate" value="0" />
+    <range field="pmt" value="0" />
   </region>
 </IdDictionary>
\ No newline at end of file
diff --git a/Tracker/TrackerDetDescr/TrackerIdDictFiles/data/IdDictTracker.xml b/Tracker/TrackerDetDescr/TrackerIdDictFiles/data/IdDictTracker.xml
index 31560e0e..6f275824 100644
--- a/Tracker/TrackerDetDescr/TrackerIdDictFiles/data/IdDictTracker.xml
+++ b/Tracker/TrackerDetDescr/TrackerIdDictFiles/data/IdDictTracker.xml
@@ -1,11 +1,49 @@
 <IdDictionary name="Tracker">
 
-  <field name="part" >
-    <label name="SCT" value="1" />
+  <field name="part">
+    <label name="SCT"        value="1" />
+  </field>
+
+  <field name="station" >
+    <label name="Upstream"   value="0" />
+    <label name="Central"    value="1" />
+    <label name="Downstream" value="2" />
+  </field>
+
+  <field name="plane" >
+    <label name="Upstream"   value="0" />
+    <label name="Central"    value="1" />
+    <label name="Downstream" value="2" />
+  </field>
+
+  <field name="row">
+    <label name="Bottom" value="0" />
+    <label name="Top"    value="1" />
+  </field>
+
+  <field name="module">
+  <!-- facing downstream
+       x must increase right to left for a right-handed
+       coordinate system -->
+    <label name="FarRight"    value="0" /> 
+    <label name="CenterRight" value="1" />
+    <label name="CenterLeft"  value="2" />
+    <label name="FarLeft"     value="3" />
+  </field>
+
+  <field name="side">
+    <label name="Upstream"    value="0" />
+    <label name="Downstream"  value="1" />
   </field>
 
   <region>
-    <range field="part" value="SCT" />
+    <range field="part"    value="SCT" />
+    <range field="station" values="Upstream Central Downstream" />
+    <range field="plane"   values="Upstream Central Downstream" />
+    <range field="row"     values="Bottom Top" />
+    <range field="module"  values="FarRight CenterRight CenterLeft FarLeft" />
+    <range field="side"    values="Upstream Downstream" />
+    <range field="strip"   minvalue="0" maxvalue="767" />
   </region>
 
 </IdDictionary>
\ No newline at end of file
-- 
GitLab