Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
ECalEvioReader.java+52-491.8 -> 1.9
durrrrrr (fixed)

hps-java/src/main/java/org/lcsim/hps/evio
ECalEvioReader.java 1.8 -> 1.9
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;
     }
CVSspam 0.2.12


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