Commit in hps-java/src/main/java/org/lcsim/hps/util on MAIN
PrintGeometryDriver.java+29-201.2 -> 1.3
Updated unit vector computation.

hps-java/src/main/java/org/lcsim/hps/util
PrintGeometryDriver.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- PrintGeometryDriver.java	26 Jun 2013 22:04:59 -0000	1.2
+++ PrintGeometryDriver.java	14 Jul 2013 06:25:31 -0000	1.3
@@ -21,6 +21,8 @@
 import org.lcsim.event.SimTrackerHit;
 import org.lcsim.event.base.BaseRawTrackerHit;
 import org.lcsim.geometry.Detector;
+import org.lcsim.hps.recon.tracking.MaterialSupervisor;
+import org.lcsim.hps.recon.tracking.TrackerHitUtils;
 import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
 import org.lcsim.util.Driver;
 
@@ -38,33 +40,40 @@
         System.out.printf("%s: %5s %40s %40s\n",this.getClass().getSimpleName(),"ID","Pos","u");
         for (SiSensor sensor: sensors) {
             Hep3Vector position = sensor.getGeometry().getPosition();
-            Hep3Vector u = this.getMeasuredCoordinate(sensor);
+            Hep3Vector u = this.getUnitVector(sensor, "measured");
             System.out.printf("%s: %5d %40s %40s\n",this.getClass().getSimpleName(),sensor.getSensorID(),position.toString(),u.toString());
         }
         System.out.printf("%s: ###########################################################\n",this.getClass().getSimpleName());
     }
     
     
-    private Hep3Vector getMeasuredCoordinate(SiSensor sensor)
-    {
-        Hep3Vector u = new BasicHep3Vector(-99,-99,-99);
-
-        for (ChargeCarrier carrier : ChargeCarrier.values()) {
-            if (sensor.hasElectrodesOnSide(carrier)) {
-               int channel = 1;
-                long cell_id = sensor.makeStripId(channel, carrier.charge()).getValue();
-                IIdentifier id = new Identifier(cell_id);
-                SiTrackerIdentifierHelper _sid_helper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();    
-                SiSensorElectrodes electrodes = sensor.getReadoutElectrodes(carrier);
-                ITransform3D local_to_global = new Transform3D();// sensor.getGeometry().getLocalToGlobal();
-                ITransform3D electrodes_to_global = electrodes.getLocalToGlobal();
-                ITransform3D global_to_hit = local_to_global.inverse();
-                ITransform3D electrodes_to_hit = Transform3D.multiply(global_to_hit, electrodes_to_global);
-                u = electrodes_to_hit.rotated(electrodes.getMeasuredCoordinate(0));
+    private  Hep3Vector getUnitVector(SiSensor sensor,String type)
+        {
+
+            Hep3Vector unit_vec = new BasicHep3Vector(-99,-99,-99);
+
+            for (ChargeCarrier carrier : ChargeCarrier.values()) {
+                if (sensor.hasElectrodesOnSide(carrier)) {
+                int channel = 1;
+                    long cell_id = sensor.makeStripId(channel, carrier.charge()).getValue();
+                    IIdentifier id = new Identifier(cell_id);
+                    SiTrackerIdentifierHelper _sid_helper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();    
+                    SiSensorElectrodes electrodes = sensor.getReadoutElectrodes(carrier);
+                    ITransform3D local_to_global = new Transform3D();// sensor.getGeometry().getLocalToGlobal();
+                    ITransform3D electrodes_to_global = electrodes.getLocalToGlobal();
+                    ITransform3D global_to_hit = local_to_global.inverse();
+                    ITransform3D electrodes_to_hit = Transform3D.multiply(global_to_hit, electrodes_to_global);
+                    if(type=="measured") {
+                        unit_vec = electrodes_to_hit.rotated(electrodes.getMeasuredCoordinate(0));
+                    } else if (type=="unmeasured") {
+                        unit_vec = electrodes_to_hit.rotated(electrodes.getUnmeasuredCoordinate(0));
+                    } else {
+                        throw new UnsupportedOperationException(String.format("type=\"%s\" not supported",type));
+                    }
+                }
             }
-         }
-        return u;
-    }
+            return unit_vec;
+        }
     
 }
 
CVSspam 0.2.12


Use REPLY-ALL to reply to list

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