Print

Print


Author: [log in to unmask]
Date: Wed Oct 29 00:30:04 2014
New Revision: 3401

Log:
Get the type of sensor to instantiate from the compact description. The type if specified as an attribute of the element "module".  If the type isn't specified, sensors of the type HpsSiSensor are instantiated. 

Modified:
    projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2Converter.java

Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2Converter.java
 =============================================================================
--- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2Converter.java	(original)
+++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/HPSTracker2Converter.java	Wed Oct 29 00:30:04 2014
@@ -31,6 +31,7 @@
 import org.lcsim.detector.material.MaterialStore;
 import org.lcsim.detector.solids.Box;
 import org.lcsim.detector.tracker.silicon.HpsSiSensor;
+import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
 import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.detector.tracker.silicon.SiTrackerModule;
 import org.lcsim.geometry.compact.Detector;
@@ -159,7 +160,12 @@
                             String sensorName = moduleDe.getName() + "_sensor" + sensorNumber;
                             
                             // Create the sensor.
-                            HpsSiSensor sensor = new HpsSiSensor(sensorNumber, sensorName, moduleDe, sensorPath, sensorId);
+                            HpsSiSensor sensor =  null; 
+                            if(moduleParameters.get(moduleName).getType().equals(HpsTestRunSiSensor.class.getSimpleName())){
+                                sensor = new HpsTestRunSiSensor(sensorNumber, sensorName, moduleDe, sensorPath, sensorId);
+                            } else { 
+                                sensor = new HpsSiSensor(sensorNumber, sensorName, moduleDe, sensorPath, sensorId);
+                            }
                                       
                             if (debug)
                                 System.out.println("created sensor " + sensor.getName());
@@ -299,11 +305,17 @@
         private String name;
         private double dimensions[] = new double[3];
         private String vis;
+        private String type = ""; 
 
         ModuleParameters(Element element) {
             name = element.getAttributeValue("name");
+            
             if (element.getAttribute("vis") != null)
                 this.vis = element.getAttribute("vis").getValue();
+            
+            if(element.getAttribute("type") != null)
+                this.type = element.getAttributeValue("type");
+            
             // Optional dimension parameters (not always present).
             if (element.getChild("trd") != null) {
                 Element trd = element.getChild("trd");
@@ -323,6 +335,7 @@
                     throw new RuntimeException(x);
                 }
             }
+            
             int cntr = 0;
             for (Object o : element.getChildren("module_component")) {
                 try {
@@ -377,6 +390,10 @@
                 throw new RuntimeException("Invalid dimensions index: " + i);
             return dimensions[i];
         }
+        
+        String getType() { 
+            return type;
+        }
     }
     
     public IDetectorElement makeSubdetectorDetectorElement(Detector detector, Subdetector subdetector)

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1