Commit in hps-java/src/main/java/org/lcsim/hps/util on MAIN | |||
PrintGeometryDriver.java | +29 | -20 | 1.2 -> 1.3 |
Updated unit vector computation.
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; + }
}
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