Author: [log in to unmask] Date: Thu Dec 11 11:33:21 2014 New Revision: 3449 Log: Fix bug in counting ax module nr Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/subdetector/HpsTracker2.java Modified: projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/subdetector/HpsTracker2.java ============================================================================= --- projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/subdetector/HpsTracker2.java (original) +++ projects/lcsim/trunk/detector-framework/src/main/java/org/lcsim/detector/converter/compact/subdetector/HpsTracker2.java Thu Dec 11 11:33:21 2014 @@ -15,6 +15,8 @@ * */ public class HpsTracker2 extends SubdetectorDetectorElement { + + private boolean debug = false; // List of stereo layers composing the SVT List<SvtStereoLayer> stereoPairs = new ArrayList<SvtStereoLayer>(); @@ -38,7 +40,15 @@ * @return List of sensors */ public List<HpsSiSensor> getSensors(){ - return this.findDescendants(HpsSiSensor.class); + List<HpsSiSensor> list = this.findDescendants(HpsSiSensor.class); + if(debug) { + System.out.printf("%s: found %d HpsSiSensors\n",getClass().getSimpleName(), list.size()); + System.out.printf("%s: %45s %5s %5s\n",getClass().getSimpleName(), "<name>", "<layerID>", "<moduleID>"); + for(HpsSiSensor sensor : list) { + System.out.printf("%s: %45s %5d %5d\n",getClass().getSimpleName(), sensor.getName(), sensor.getLayerNumber(), sensor.getModuleNumber()); + } + } + return list; } /** @@ -77,7 +87,7 @@ private int getMaxModuleNumber(){ int maxModuleID = 0; for(HpsSiSensor sensor : this.getSensors()){ - if(sensor.getLayerNumber() > maxModuleID) maxModuleID = sensor.getModuleNumber(); + if(sensor.getModuleNumber() > maxModuleID) maxModuleID = sensor.getModuleNumber(); } return maxModuleID; } @@ -88,17 +98,29 @@ * with the same module number. */ public void createStereoLayers(){ + + System.out.printf("%s: create stereo layers\n",getClass().getSimpleName()); - HpsSiSensor firstSensor = null; + HpsSiSensor firstSensor = null; HpsSiSensor secondSensor = null; - + + System.out.printf("%s: %10s %10s %42s %42s\n",getClass().getSimpleName(), "layerID/moduleID", "layerID/moduleID", "sensor1", "sensor2"); + + for(int layerID = 1; layerID <= this.getMaxLayerNumber(); layerID+=2 ){ for(int moduleID = 0; moduleID <= this.getMaxModuleNumber(); moduleID++){ firstSensor = this.getSensor(layerID, moduleID); secondSensor = this.getSensor(layerID+1, moduleID); + + System.out.printf("%s: %10d/%d %10d/%d %42s %42s\n",getClass().getSimpleName(), + layerID,moduleID, layerID+1, moduleID, + firstSensor==null?"-":firstSensor.getName(), + secondSensor==null?"-":secondSensor.getName()); - if(firstSensor == null || secondSensor == null) continue; + if(firstSensor == null || secondSensor == null) { + continue; + } stereoPairs.add(new SvtStereoLayer((layerID+1)/2, firstSensor, secondSensor)); } ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the LCDET-SVN list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1