hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.2 -r1.3
--- SVTEvioWriter.java 7 Apr 2012 00:07:24 -0000 1.2
+++ SVTEvioWriter.java 21 Apr 2012 07:46:06 -0000 1.3
@@ -6,6 +6,7 @@
import static org.lcsim.hps.evio.EventConstants.SVT_BANK_NUMBER;
import static org.lcsim.hps.evio.EventConstants.SVT_BANK_TAG;
+import static org.lcsim.hps.evio.EventConstants.SVT_TOTAL_NUMBER_FPGAS;
import java.util.List;
@@ -20,12 +21,13 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: SVTEvioWriter.java,v 1.2 2012/04/07 00:07:24 meeg Exp $
+ * @version $Id: SVTEvioWriter.java,v 1.3 2012/04/21 07:46:06 omoreno Exp $
*/
public class SVTEvioWriter implements EvioWriter {
+
+ boolean debug = true;
- public SVTEvioWriter() {
- }
+ public SVTEvioWriter() {}
public boolean hasData(EventHeader event) {
List<List<HPSSVTData>> svtDataList = event.get(HPSSVTData.class);
@@ -36,27 +38,28 @@
// SVT container bank.
EvioBank svtBank = new EvioBank(SVT_BANK_TAG, DataType.BANK, SVT_BANK_NUMBER);
-
- int nfpgas = 8;
- for (int i=0; i<nfpgas; i++) {
+
+ // Iterate over FPGA's 0 - 6
+ for(int fpgaNumber = 0; fpgaNumber < SVT_TOTAL_NUMBER_FPGAS; fpgaNumber++){
// Get the raw int data buffer for this FPGA.
- int[] dataBuffer = HPSSVTDataBuffer.readoutBuffer(i);
+ int[] dataBuffer = HPSSVTDataBuffer.readoutBuffer(fpgaNumber);
- System.out.println("FPGA["+i+"] has data of size " + dataBuffer.length);
+ if(debug) System.out.println(this.getClass().getSimpleName() + ": FPGA " + fpgaNumber + " : Data size: " + dataBuffer.length);
// Bank for this FPGA's frame data.
- // FIXME: Need actual FPGA numbers.
- EvioBank frameBank = new EvioBank(i, DataType.UINT32, i);
+ EvioBank frameBank = new EvioBank(fpgaNumber, DataType.UINT32, fpgaNumber);
try {
+ // Add the SVT data to the FPGA bank
frameBank.appendIntData(dataBuffer);
+ // Add the FPGA bank to the SVT bank
builder.addChild(svtBank, frameBank);
} catch (EvioException e) {
throw new RuntimeException(e);
}
}
- // Add top bank to event.
+ // Add the SVT bank to the Main EVIO bank
try {
builder.addChild(builder.getEvent(), svtBank);
} catch (EvioException e) {