Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN | |||
ECalEvioReader.java | +52 | -49 | 1.8 -> 1.9 |
durrrrrr (fixed)
diff -u -r1.8 -r1.9 --- ECalEvioReader.java 2 May 2012 00:39:40 -0000 1.8 +++ ECalEvioReader.java 2 May 2012 13:20:41 -0000 1.9 @@ -17,7 +17,7 @@
/** * * @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalEvioReader.java,v 1.8 2012/05/02 00:39:40 meeg Exp $
+ * @version $Id: ECalEvioReader.java,v 1.9 2012/05/02 13:20:41 meeg Exp $
*/ public class ECalEvioReader extends EvioReader { // Names of subdetectors.
@@ -53,33 +53,31 @@
} for (BaseStructure slotBank : bank.getChildren()) { CompositeData cdata = null;
- while (true) { - try { - cdata = slotBank.getCompositeData(); - } catch (EvioException e) { - throw new RuntimeException(e); - } - if (slotBank.getHeader().getTag() != bankTag) { - bankTag = slotBank.getHeader().getTag(); - System.out.printf("ECal format tag: 0x%x\n", bankTag); - } - switch (slotBank.getHeader().getTag()) { - case EventConstants.ECAL_WINDOW_BANK_TAG: - hits.addAll(makeWindowHits(cdata, crateBankTag)); - hitClass = RawTrackerHit.class; - break; - case EventConstants.ECAL_PULSE_BANK_TAG: - hits.addAll(makePulseHits(cdata, crateBankTag)); - hitClass = RawTrackerHit.class; - break; - case EventConstants.ECAL_PULSE_INTEGRAL_BANK_TAG: - hits.addAll(makeIntegralHits(cdata, crateBankTag)); - hitClass = RawCalorimeterHit.class; - break; - default: - throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
+ try { + cdata = slotBank.getCompositeData(); + } catch (EvioException e) { + throw new RuntimeException(e); + } + if (slotBank.getHeader().getTag() != bankTag) { + bankTag = slotBank.getHeader().getTag(); + System.out.printf("ECal format tag: 0x%x\n", bankTag); + } + switch (slotBank.getHeader().getTag()) { + case EventConstants.ECAL_WINDOW_BANK_TAG: + hits.addAll(makeWindowHits(cdata, crateBankTag)); + hitClass = RawTrackerHit.class; + break; + case EventConstants.ECAL_PULSE_BANK_TAG: + hits.addAll(makePulseHits(cdata, crateBankTag)); + hitClass = RawTrackerHit.class; + break; + case EventConstants.ECAL_PULSE_INTEGRAL_BANK_TAG: + hits.addAll(makeIntegralHits(cdata, crateBankTag)); + hitClass = RawCalorimeterHit.class; + break; + default: + throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
- }
} } }
@@ -102,32 +100,37 @@
System.out.println("cdata.type[" + i + "]=" + cdata.getTypes().get(i)); } }
+ while (true) { + try { + int crate = bankTag; + short slot = cdata.getByte(); + int trigger = cdata.getInt(); + long timestamp = cdata.getLong(); + int nchannels = cdata.getNValue(); + if (debug) { + System.out.println("slot#=" + slot + "; trigger=" + trigger + "; timestamp=" + timestamp + "; nchannels=" + nchannels); + } + for (int j = 0; j < nchannels; j++) { + short channel = cdata.getByte(); + int nSamples = cdata.getNValue(); + if (debug) { + System.out.println(" channel=" + channel + "; nSamples=" + nSamples); + } + long daqID = HPSEcalConditions.getDaqID(crate, slot, channel); + Long id = HPSEcalConditions.daqToPhysicalID(daqID);
- int crate = bankTag; - short slot = cdata.getByte(); - int trigger = cdata.getInt(); - long timestamp = cdata.getLong(); - int nchannels = cdata.getNValue(); - if (debug) { - System.out.println("slot#=" + slot + "; trigger=" + trigger + "; timestamp=" + timestamp + "; nchannels=" + nchannels); - } - for (int j = 0; j < nchannels; j++) { - short channel = cdata.getByte(); - int nSamples = cdata.getNValue(); - if (debug) { - System.out.println(" channel=" + channel + "; nSamples=" + nSamples); - } - long daqID = HPSEcalConditions.getDaqID(crate, slot, channel); - Long id = HPSEcalConditions.daqToPhysicalID(daqID); - - short[] adcValues = new short[nSamples]; - for (int i = 0; i < nSamples; i++) { - adcValues[i] = cdata.getShort(); - }
+ short[] adcValues = new short[nSamples]; + for (int i = 0; i < nSamples; i++) { + adcValues[i] = cdata.getShort(); + }
// if (debug) { // System.out.println(" pulseTime=" + pulseTime + "; pulseIntegral=" + pulseIntegral); // }
- hits.add(new BaseRawTrackerHit(id, 0, adcValues));
+ hits.add(new BaseRawTrackerHit(id, 0, adcValues));
+ }
+ } catch (IndexOutOfBoundsException e) {
+ break;
+ }
} return hits; }
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