hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.5 -r1.6
--- ECalHitWriter.java 20 Mar 2013 01:03:32 -0000 1.5
+++ ECalHitWriter.java 18 Apr 2013 20:59:16 -0000 1.6
@@ -26,7 +26,7 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalHitWriter.java,v 1.5 2013/03/20 01:03:32 meeg Exp $
+ * @version $Id: ECalHitWriter.java,v 1.6 2013/04/18 20:59:16 meeg Exp $
*/
public class ECalHitWriter implements HitWriter {
@@ -195,14 +195,11 @@
slots.add(id);
}
+ // Create composite data for this slot and its channels.
+ CompositeData.Data data = new CompositeData.Data();
+
// Loop over the slots in the map.
for (int slot : slotMap.keySet()) {
-
- // New bank for this slot.
- EvioBank slotBank = new EvioBank(ECAL_PULSE_INTEGRAL_BANK_TAG, DataType.COMPOSITE, slot);
-
- // Create composite data for this slot and its channels.
- CompositeData.Data data = new CompositeData.Data();
data.addUchar((byte) slot); // slot #
data.addUint(0); // trigger #
data.addUlong(0); // timestamp
@@ -220,22 +217,19 @@
data.addUint((int) hit.getAmplitude()); // pulse integral
}
}
+ }
+ // New bank for this slot.
+ EvioBank cdataBank = new EvioBank(EventConstants.ECAL_PULSE_BANK_TAG, DataType.COMPOSITE, 0);
+ List<CompositeData> cdataList = new ArrayList<CompositeData>();
- // Add CompositeData to bank.
- try {
- CompositeData cdata = new CompositeData(ECAL_PULSE_INTEGRAL_FORMAT, 1, data, ECAL_PULSE_INTEGRAL_BANK_TAG, 0);
-// slotDataList.add(cdata);
- slotBank.appendCompositeData(cdata);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
-
- // Add slot bank to crate bank.
- try {
- builder.addChild(crateBank, slotBank);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
+ // Add CompositeData to bank.
+ try {
+ CompositeData cdata = new CompositeData(ECAL_PULSE_INTEGRAL_FORMAT, 1, data, ECAL_PULSE_INTEGRAL_BANK_TAG, 0);
+ cdataList.add(cdata);
+ cdataBank.appendCompositeData(cdataList.toArray(new CompositeData[cdataList.size()]));
+ builder.addChild(crateBank, cdataBank);
+ } catch (EvioException e) {
+ throw new RuntimeException(e);
}
}
@@ -274,19 +268,11 @@
slots.add(id);
}
-// // New bank for this slot.
-// EvioBank slotBank = new EvioBank(EventConstants.ECAL_PULSE_BANK_TAG, DataType.COMPOSITE, 0);
-//
-// List<CompositeData> slotDataList = new ArrayList<CompositeData>();
-//
+ // Create composite data for this slot and its channels.
+ CompositeData.Data data = new CompositeData.Data();
+
// Loop over the slots in the map.
for (int slot : slotMap.keySet()) {
-
- // New bank for this slot.
- EvioBank slotBank = new EvioBank(EventConstants.ECAL_PULSE_BANK_TAG, DataType.COMPOSITE, slot);
-
- // Create composite data for this slot and its channels.
- CompositeData.Data data = new CompositeData.Data();
data.addUchar((byte) slot); // slot #
data.addUint(0); // trigger #
data.addUlong(0); // timestamp
@@ -307,20 +293,18 @@
}
}
}
-
- // Add CompositeData to bank.
- try {
- CompositeData cdata = new CompositeData(EventConstants.ECAL_PULSE_FORMAT, 1, data, EventConstants.ECAL_PULSE_BANK_TAG, 0);
-// slotDataList.add(cdata);
- slotBank.appendCompositeData(cdata);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
}
+
+ // New bank for this slot.
+ EvioBank cdataBank = new EvioBank(EventConstants.ECAL_PULSE_BANK_TAG, DataType.COMPOSITE, 0);
+ List<CompositeData> cdataList = new ArrayList<CompositeData>();
+
+ // Add CompositeData to bank.
try {
-// slotBank.appendCompositeData(slotDataList.toArray(new CompositeData[slotDataList.size()]));
-// builder.addChild(crateBank, slotBank);
- builder.addChild(builder.getEvent(), crateBank);
+ CompositeData cdata = new CompositeData(EventConstants.ECAL_PULSE_FORMAT, 1, data, EventConstants.ECAL_PULSE_BANK_TAG, 0);
+ cdataList.add(cdata);
+ cdataBank.appendCompositeData(cdataList.toArray(new CompositeData[cdataList.size()]));
+ builder.addChild(crateBank, cdataBank);
} catch (EvioException e) {
throw new RuntimeException(e);
}
@@ -357,19 +341,15 @@
slots.add(id);
}
-// // New bank for this slot.
-// EvioBank slotBank = new EvioBank(EventConstants.ECAL_WINDOW_BANK_TAG, DataType.COMPOSITE, 0);
-//
-// List<CompositeData> slotDataList = new ArrayList<CompositeData>();
-//
+ // Create composite data for this slot and its channels.
+ CompositeData.Data data = new CompositeData.Data();
+
// Loop over the slots in the map.
for (int slot : slotMap.keySet()) {
// New bank for this slot.
- EvioBank slotBank = new EvioBank(EventConstants.ECAL_WINDOW_BANK_TAG, DataType.COMPOSITE, slot);
+// EvioBank slotBank = new EvioBank(EventConstants.ECAL_WINDOW_BANK_TAG, DataType.COMPOSITE, slot);
- // Create composite data for this slot and its channels.
- CompositeData.Data data = new CompositeData.Data();
data.addUchar((byte) slot); // slot #
data.addUint(0); // trigger #
data.addUlong(0); // timestamp
@@ -386,28 +366,18 @@
data.addUshort(val); // sample
}
}
+ }
- // Add CompositeData to bank.
- try {
- CompositeData cdata = new CompositeData(EventConstants.ECAL_WINDOW_FORMAT, 1, data, EventConstants.ECAL_WINDOW_BANK_TAG, 0);
- // slotDataList.add(cdata);
- slotBank.appendCompositeData(cdata);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
+ // New bank for this slot.
+ EvioBank cdataBank = new EvioBank(EventConstants.ECAL_WINDOW_BANK_TAG, DataType.COMPOSITE, 0);
+ List<CompositeData> cdataList = new ArrayList<CompositeData>();
- // Add slot bank to crate bank.
- slotBank.setAllHeaderLengths();
- try {
- builder.addChild(crateBank, slotBank);
- } catch (EvioException e) {
- throw new RuntimeException(e);
- }
- }
+ // Add CompositeData to bank.
try {
-// slotBank.appendCompositeData(slotDataList.toArray(new CompositeData[slotDataList.size()]));
-// builder.addChild(crateBank, slotBank);
- builder.addChild(builder.getEvent(), crateBank);
+ CompositeData cdata = new CompositeData(EventConstants.ECAL_WINDOW_FORMAT, 1, data, EventConstants.ECAL_WINDOW_BANK_TAG, 0);
+ cdataList.add(cdata);
+ cdataBank.appendCompositeData(cdataList.toArray(new CompositeData[cdataList.size()]));
+ builder.addChild(crateBank, cdataBank);
} catch (EvioException e) {
throw new RuntimeException(e);
}
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.22 -r1.23
--- ECalEvioReader.java 25 Feb 2013 22:39:25 -0000 1.22
+++ ECalEvioReader.java 18 Apr 2013 20:59:16 -0000 1.23
@@ -14,7 +14,7 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalEvioReader.java,v 1.22 2013/02/25 22:39:25 meeg Exp $
+ * @version $Id: ECalEvioReader.java,v 1.23 2013/04/18 20:59:16 meeg Exp $
*/
public class ECalEvioReader extends EvioReader {
// Names of subdetectors.
@@ -51,29 +51,29 @@
}
continue;
}
-// for (CompositeData cdata : slotBank.getCompositeData()) {
- CompositeData cdata = slotBank.getCompositeData();
- 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 = BaseRawCalorimeterHit.class;
- break;
- default:
- throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
+ for (CompositeData cdata : slotBank.getCompositeData()) {
+// CompositeData cdata = slotBank.getCompositeData();
+ 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 = BaseRawCalorimeterHit.class;
+ break;
+ default:
+ throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
+ }
}
-// }
}
} catch (EvioException e) {
throw new RuntimeException(e);