hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.15 -r1.16
--- SvtUtils.java 30 Jul 2013 00:53:07 -0000 1.15
+++ SvtUtils.java 3 Oct 2013 20:34:21 -0000 1.16
@@ -20,14 +20,13 @@
import org.lcsim.geometry.Detector;
import org.lcsim.hps.util.Pair;
-import org.lcsim.hps.recon.tracking.StereoPair;
import org.lcsim.hps.recon.tracking.StereoPair.detectorVolume;
/**
* A class providing various utilities related to the HPS SVT.
*
* @author Omar Moreno <[log in to unmask]>
- * @version $Id: SvtUtils.java,v 1.15 2013/07/30 00:53:07 omoreno Exp $
+ * @version $Id: SvtUtils.java,v 1.16 2013/10/03 20:34:21 meeg Exp $
*/
public class SvtUtils {
@@ -59,7 +58,7 @@
String subdetectorName = "Tracker";
ConditionsManager manager = ConditionsManager.defaultInstance();
int maxModuleNumber = 0;
- int maxPlaneNumber = 0;
+ int maxLayerNumber = 0;
private Set<Integer> fpgaNumbers = new HashSet<Integer>();
private boolean isSetup = false;
boolean debug = true;
@@ -138,16 +137,16 @@
}
/**
- * Get a sensor by its plane and module id.
+ * Get a sensor by its plane and module id. Both are zero-indexed.
*
* @param moduleNumber : module id
- * @param planeNumber : layer (plane) id
+ * @param planeNumber : plane id (typically 1 less than the layer id)
* @return sensor
*/
public SiSensor getSensor(int moduleNumber, int planeNumber) {
- if (moduleNumber < 0 || moduleNumber >= maxModuleNumber) {
+ if (moduleNumber < 0 || moduleNumber > maxModuleNumber) {
throw new RuntimeException("Module number " + moduleNumber + " is out of range!");
- } else if (planeNumber <= 0 || planeNumber > maxPlaneNumber) {
+ } else if (planeNumber < 0 || planeNumber >= maxLayerNumber) {
throw new RuntimeException("Plane number " + planeNumber + " is out of range!");
}
return sensorArray[moduleNumber][planeNumber];
@@ -299,7 +298,7 @@
// Instantiate 'sensorArray' which allows for retrieval of a SiSensor
// by module and layer id
- sensorArray = new SiSensor[maxModuleNumber + 1][maxPlaneNumber];
+ sensorArray = new SiSensor[maxModuleNumber + 1][maxLayerNumber];
// Get all of the sensors composing the SVT and add them to the set of all sensors
IDetectorElement detectorElement = detector.getDetectorElement().findDetectorElement(subdetectorName);
@@ -398,7 +397,7 @@
// is used when instantiating 'sensorArray' and when creating
// stereo pairs.
maxModuleNumber = Math.max(maxModuleNumber, module);
- maxPlaneNumber = Math.max(maxPlaneNumber, layer);
+ maxLayerNumber = Math.max(maxLayerNumber, layer);
// A pair is used to relate an FPGA value to a hybrid number
Pair<Integer, Integer> daqPair = new Pair<Integer, Integer>(fpga, hybrid);
@@ -464,7 +463,7 @@
int trackerLayer = 0;
//
- for(int layerNumber = 1; layerNumber <= maxPlaneNumber; layerNumber+=2 ){
+ for(int layerNumber = 1; layerNumber <= maxLayerNumber; layerNumber+=2 ){
for(int sensorNumber = 0; sensorNumber < (maxModuleNumber+1)/2; sensorNumber++){
firstSensor = this.getTopSensor(layerNumber, sensorNumber);