Print

Print


Commit in java/trunk/users/src on MAIN
main/java/org/hps/users/phansson/TrackingGeometryChecker.java+601062 -> 1063
test/java/org/hps/users/ngraf/RotationMatrixTest.java+2-21062 -> 1063
+62-2
2 modified files
work in progress.

java/trunk/users/src/main/java/org/hps/users/phansson
TrackingGeometryChecker.java 1062 -> 1063
--- java/trunk/users/src/main/java/org/hps/users/phansson/TrackingGeometryChecker.java	2014-09-19 02:56:59 UTC (rev 1062)
+++ java/trunk/users/src/main/java/org/hps/users/phansson/TrackingGeometryChecker.java	2014-09-19 04:22:05 UTC (rev 1063)
@@ -1,7 +1,14 @@
 package org.hps.users.phansson;
 
+import java.util.ArrayList;
 import java.util.List;
 
+import org.hps.conditions.deprecated.SvtUtils;
+import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.SiTrackerIdentifierHelper;
 import org.lcsim.event.EventHeader;
 import org.lcsim.event.SimTrackerHit;
 import org.lcsim.geometry.Detector;
@@ -24,6 +31,57 @@
 	
 	protected void detectorChanged(Detector arg0) {
 		super.detectorChanged(arg0);
+		
+		 // Get all of the sensors composing the SVT and add them to the set of all sensors
+        IDetectorElement detectorElement = arg0.getDetectorElement().findDetectorElement("Tracker");
+        IIdentifierHelper helper = detectorElement.getIdentifierHelper();
+        List<SiSensor> sensors = new ArrayList<SiSensor>();
+		sensors.addAll(detectorElement.findDescendants(SiSensor.class));
+        System.out.printf("%s: Total number of sensors: %d\n",getClass().getSimpleName(), sensors.size());
+
+        IIdentifier sensorIdent;
+        SiTrackerIdentifierHelper sensorHelper;
+        String description;
+        // Loop through all of the sensors and fill the maps
+        for (SiSensor sensor : sensors) {
+
+            // Get the sensor identifier
+            sensorIdent = sensor.getIdentifier();
+
+            // Get the sensor identifier helper in order to decode the id fields
+            sensorHelper = (SiTrackerIdentifierHelper) sensor.getIdentifierHelper();
+
+            // Get the sensor layer and module id
+            int layerNumber = sensorHelper.getLayerValue(sensorIdent);
+            int moduleNumber = sensorHelper.getModuleValue(sensorIdent);
+            int sideNumber = sensorHelper.getSideValue(sensorIdent);
+            int sensorNumber = sensorHelper.getSensorValue(sensorIdent);
+            int elecNumber = sensorHelper.getElectrodeValue(sensorIdent);
+            
+            System.out.printf("%s: Sensor name %s\n",getClass().getSimpleName(), sensor.getName());
+            System.out.printf("%s: Sensor position %s\n",getClass().getSimpleName(), sensor.getGeometry().getPosition().toString());
+            System.out.printf("%s: Sensor is %s %s \n",getClass().getSimpleName(), SvtUtils.getInstance().isTopLayer(sensor)?"top":"bottom", SvtUtils.getInstance().isAxial(sensor)?"axial":"stereo");
+            System.out.printf("%s: layerNumber %d\n",getClass().getSimpleName(), layerNumber);
+            System.out.printf("%s: moduleNumber %d\n",getClass().getSimpleName(), moduleNumber);
+            System.out.printf("%s: sideNumber %d\n",getClass().getSimpleName(), sideNumber);
+            System.out.printf("%s: sensorNumber %d\n",getClass().getSimpleName(), sensorNumber);
+            System.out.printf("%s: elecNumber %d\n",getClass().getSimpleName(), elecNumber);
+            System.out.printf("%s: DE mother lists:\n",getClass().getSimpleName(), elecNumber);
+            IDetectorElement m = sensor;
+            int im=0;
+            while((m=m.getParent()) != null) {
+            	System.out.printf("%s: DE mother %d name %s\n",getClass().getSimpleName(), im, m.getName());
+            	if(m.hasGeometryInfo()) {
+            		System.out.printf("%s: DE mother %d pos  %s\n",getClass().getSimpleName(), im, m.getGeometry().getPosition().toString());
+            	} else {
+            		System.out.printf("%s: DE mother - no geom info - \n",getClass().getSimpleName(), im);            		
+            	}
+                im++;
+            }
+
+            
+        }
+		
 	}
 	
 	protected void startOfData() {
@@ -59,6 +117,8 @@
 		System.out.printf("\nSimTrackerHit:\n");
 		System.out.printf("\t position: %s\n",simTrackerHit.getPositionVec().toString());
 		System.out.printf("\t DetectorElement: %s\n",simTrackerHit.getDetectorElement().getName());
+		System.out.printf("\t DetectorElement position: %s\n",simTrackerHit.getDetectorElement().getGeometry().getPosition().toString());
+		System.out.printf("\t PhysVol name at position: %s\n",simTrackerHit.getDetectorElement().getGeometry().getPhysicalVolume(simTrackerHit.getPositionVec()).getName());
 	}
 }
 

java/trunk/users/src/test/java/org/hps/users/ngraf
RotationMatrixTest.java 1062 -> 1063
--- java/trunk/users/src/test/java/org/hps/users/ngraf/RotationMatrixTest.java	2014-09-19 02:56:59 UTC (rev 1062)
+++ java/trunk/users/src/test/java/org/hps/users/ngraf/RotationMatrixTest.java	2014-09-19 04:22:05 UTC (rev 1063)
@@ -42,8 +42,8 @@
         Vector3D axisZ = new Vector3D(0., 0., 1.);
 
         double alpha1 = PI / 4.;
-        double alpha2 = PI / 3.;
-        double alpha3 = PI / 2.;
+        double alpha2 = PI / 4.;
+        double alpha3 = 0.;
 
         //set up a rotation by alpha1 about the X axis
         Rotation r1 = new Rotation(axisX, alpha1);
SVNspam 0.1