java/trunk/users/src/main/java/org/hps/users/phansson
--- 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
--- 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);