Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN
ECalEvioWriter.java+31-241.4 -> 1.5
BasicEvioFileReader.java+6-31.6 -> 1.7
ECalEvioReader.java+28-311.12 -> 1.13
TestRunTriggeredReconToEvio.java+172-1721.9 -> 1.10
+237-230
4 modified files
not moving to new JEVIO version yet - but ready for it

hps-java/src/main/java/org/lcsim/hps/evio
ECalEvioWriter.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- ECalEvioWriter.java	2 May 2012 00:39:40 -0000	1.4
+++ ECalEvioWriter.java	4 May 2012 17:18:57 -0000	1.5
@@ -1,7 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 package org.lcsim.hps.evio;
 
 import org.lcsim.event.RawTrackerHit;
@@ -29,7 +25,7 @@
 /**
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalEvioWriter.java,v 1.4 2012/05/02 00:39:40 meeg Exp $
+ * @version $Id: ECalEvioWriter.java,v 1.5 2012/05/04 17:18:57 meeg Exp $
  */
 public class ECalEvioWriter implements EvioWriter {
 
@@ -55,6 +51,7 @@
         }
     }
 
+    @Override
     public boolean hasData(EventHeader event) {
         switch (mode) {
             case EventConstants.ECAL_WINDOW_MODE:
@@ -68,6 +65,7 @@
         }
     }
 
+    @Override
     public void writeData(EventHeader event, EventBuilder builder) {
         if (!HPSEcalConditions.mapLoaded()) {
             HPSEcalConditions.fillDaqCellMap(event.getDetector().getSubdetector(ecalName));
@@ -150,6 +148,11 @@
         // Make a new bank for this crate.
         EvioBank crateBank = new EvioBank(bankTag, DataType.BANK, ECAL_BANK_NUMBER);
 
+//        // New bank for this slot.
+//        EvioBank slotBank = new EvioBank(EventConstants.ECAL_PULSE_INTEGRAL_BANK_TAG, DataType.COMPOSITE, 0);
+//
+//        List<CompositeData> slotDataList = new ArrayList<CompositeData>();
+//
         // Loop over the slots in the map.
         for (int slot : slotMap.keySet()) {
 
@@ -177,16 +180,15 @@
             }
 
             // Add CompositeData to bank.
-            CompositeData cdata = null;
             try {
-                cdata = new CompositeData(ECAL_PULSE_INTEGRAL_FORMAT, 1, data, ECAL_PULSE_INTEGRAL_BANK_TAG, slot);
+                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.
-            slotBank.setAllHeaderLengths();
             try {
                 builder.addChild(crateBank, slotBank);
             } catch (EvioException e) {
@@ -194,7 +196,8 @@
             }
         }
         try {
-            crateBank.setAllHeaderLengths();
+//            slotBank.appendCompositeData(slotDataList.toArray(new CompositeData[slotDataList.size()]));
+//            builder.addChild(crateBank, slotBank);
             builder.addChild(builder.getEvent(), crateBank);
         } catch (EvioException e) {
             throw new RuntimeException(e);
@@ -255,6 +258,11 @@
         // Make a new bank for this crate.
         EvioBank crateBank = new EvioBank(bankTag, DataType.BANK, ECAL_BANK_NUMBER);
 
+//        // New bank for this slot.
+//        EvioBank slotBank = new EvioBank(EventConstants.ECAL_PULSE_BANK_TAG, DataType.COMPOSITE, 0);
+//
+//        List<CompositeData> slotDataList = new ArrayList<CompositeData>();
+//
         // Loop over the slots in the map.
         for (int slot : slotMap.keySet()) {
 
@@ -285,24 +293,17 @@
             }
 
             // Add CompositeData to bank.
-            CompositeData cdata = null;
             try {
-                cdata = new CompositeData(EventConstants.ECAL_PULSE_FORMAT, 1, data, EventConstants.ECAL_PULSE_BANK_TAG, slot);
+                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);
             }
-
-            // Add slot bank to crate bank.
-            slotBank.setAllHeaderLengths();
-            try {
-                builder.addChild(crateBank, slotBank);
-            } catch (EvioException e) {
-                throw new RuntimeException(e);
-            }
         }
         try {
-            crateBank.setAllHeaderLengths();
+//            slotBank.appendCompositeData(slotDataList.toArray(new CompositeData[slotDataList.size()]));
+//            builder.addChild(crateBank, slotBank);
             builder.addChild(builder.getEvent(), crateBank);
         } catch (EvioException e) {
             throw new RuntimeException(e);
@@ -359,6 +360,11 @@
         // Make a new bank for this crate.
         EvioBank crateBank = new EvioBank(bankTag, DataType.BANK, ECAL_BANK_NUMBER);
 
+//        // New bank for this slot.
+//        EvioBank slotBank = new EvioBank(EventConstants.ECAL_WINDOW_BANK_TAG, DataType.COMPOSITE, 0);
+//
+//        List<CompositeData> slotDataList = new ArrayList<CompositeData>();
+//
         // Loop over the slots in the map.
         for (int slot : slotMap.keySet()) {
 
@@ -385,11 +391,11 @@
             }
 
             // Add CompositeData to bank.
-            CompositeData cdata = null;
             try {
-                cdata = new CompositeData(EventConstants.ECAL_WINDOW_FORMAT, 1, data, EventConstants.ECAL_WINDOW_BANK_TAG, slot);
+                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) {
+           } catch (EvioException e) {
                 throw new RuntimeException(e);
             }
 
@@ -402,7 +408,8 @@
             }
         }
         try {
-            crateBank.setAllHeaderLengths();
+//            slotBank.appendCompositeData(slotDataList.toArray(new CompositeData[slotDataList.size()]));
+//            builder.addChild(crateBank, slotBank);
             builder.addChild(builder.getEvent(), crateBank);
         } catch (EvioException e) {
             throw new RuntimeException(e);

hps-java/src/main/java/org/lcsim/hps/evio
BasicEvioFileReader.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- BasicEvioFileReader.java	2 May 2012 16:53:28 -0000	1.6
+++ BasicEvioFileReader.java	4 May 2012 17:18:57 -0000	1.7
@@ -56,17 +56,20 @@
             }
         }
         if (bank.getHeader().getDataType() == DataType.COMPOSITE) {
+//            for (CompositeData cdata : bank.getCompositeData()) {
+            CompositeData cdata = bank.getCompositeData();
             switch (bank.getHeader().getTag()) {
                 case 0xe101:
-                    printWindow(bank.getCompositeData(), indent + "\t");
+                    printWindow(cdata, indent + "\t");
                     break;
                 case 0xe102:
-                    printComposite(bank.getCompositeData(), indent + "\t");
+                    printComposite(cdata, indent + "\t");
                     break;
                 case 0xe103:
-                    printComposite(bank.getCompositeData(), indent + "\t");
+                    printComposite(cdata, indent + "\t");
                     break;
             }
+//            }
         }
     }
 

hps-java/src/main/java/org/lcsim/hps/evio
ECalEvioReader.java 1.12 -> 1.13
diff -u -r1.12 -r1.13
--- ECalEvioReader.java	2 May 2012 20:31:38 -0000	1.12
+++ ECalEvioReader.java	4 May 2012 17:18:57 -0000	1.13
@@ -1,7 +1,3 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
 package org.lcsim.hps.evio;
 
 import java.util.ArrayList;
@@ -17,7 +13,7 @@
 /**
  *
  * @author Sho Uemura <[log in to unmask]>
- * @version $Id: ECalEvioReader.java,v 1.12 2012/05/02 20:31:38 meeg Exp $
+ * @version $Id: ECalEvioReader.java,v 1.13 2012/05/04 17:18:57 meeg Exp $
  */
 public class ECalEvioReader extends EvioReader {
     // Names of subdetectors.
@@ -51,34 +47,35 @@
                     if (debug) {
                         System.out.println("ECal bank tag: " + header.getTag() + "; childCount: " + bank.getChildCount());
                     }
-                    for (BaseStructure slotBank : bank.getChildren()) {
-                        CompositeData cdata = null;
-                        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 {
+                        for (BaseStructure slotBank : bank.getChildren()) {
+//                            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 = RawCalorimeterHit.class;
+                                    break;
+                                default:
+                                    throw new RuntimeException("Unsupported ECal format - bank tag " + slotBank.getHeader().getTag());
 
+                            }
+//                            }
                         }
+                    } catch (EvioException e) {
+                        throw new RuntimeException(e);
                     }
                 }
             }

hps-java/src/main/java/org/lcsim/hps/evio
TestRunTriggeredReconToEvio.java 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- TestRunTriggeredReconToEvio.java	2 May 2012 00:39:40 -0000	1.9
+++ TestRunTriggeredReconToEvio.java	4 May 2012 17:18:57 -0000	1.10
@@ -20,176 +20,176 @@
  */
 public class TestRunTriggeredReconToEvio extends Driver {
 
-	EventWriter writer;
-	String rawCalorimeterHitCollectionName = "EcalReadoutHits";
-	String evioOutputFile = "TestRunData.evio";
-	String ecalName = "Ecal";
-	Queue<QueuedEtEvent> builderQueue = null;
-	private int eventsWritten = 0;
-	public static boolean triggerBit = false;
-	HPSEcalConditions ecalIDConverter = null;
-	ECalEvioWriter ecalWriter = null;
-	SVTEvioWriter svtWriter = null;
-	List<EvioWriter> writers = null;
-	private int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
-
-	public TestRunTriggeredReconToEvio() {
-	}
-
-	public void setEcalMode(int ecalMode) {
-		this.ecalMode = ecalMode;
-		if (ecalMode != EventConstants.ECAL_WINDOW_MODE && ecalMode != EventConstants.ECAL_PULSE_MODE && ecalMode != EventConstants.ECAL_PULSE_INTEGRAL_MODE) {
-			throw new IllegalArgumentException("invalid mode " + ecalMode);
-		}
-		if (ecalWriter != null) {
-			ecalWriter.setMode(ecalMode);
-		}
-	}
-
-	public void setEvioOutputFile(String evioOutputFile) {
-		this.evioOutputFile = evioOutputFile;
-	}
-
-	public void setEcalName(String ecalName) {
-		this.ecalName = ecalName;
-		if (ecalWriter != null) {
-			ecalWriter.setEcalName(ecalName);
-		}
-	}
-
-	public void setRawCalorimeterHitCollectionName(String rawCalorimeterHitCollectionName) {
-		this.rawCalorimeterHitCollectionName = rawCalorimeterHitCollectionName;
-		if (ecalWriter != null) {
-			ecalWriter.setHitCollectionName(rawCalorimeterHitCollectionName);
-		}
-	}
-
-	protected void startOfData() {
-		try {
-			writer = new EventWriter(evioOutputFile);
-		} catch (EvioException e) {
-			throw new RuntimeException(e);
-		}
-
-		writers = new ArrayList<EvioWriter>();
-
-		ecalWriter = new ECalEvioWriter();
-		ecalWriter.setMode(ecalMode);
-		ecalWriter.setEcalName(ecalName);
-		ecalWriter.setHitCollectionName(rawCalorimeterHitCollectionName);
-		writers.add(ecalWriter);
-
-		svtWriter = new SVTEvioWriter();
-		writers.add(svtWriter);
-
-		builderQueue = new LinkedList<QueuedEtEvent>();
-	}
-
-	protected void endOfData() {
-		System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " EVIO events in job.");
-		try {
-			writer.close();
-		} catch (EvioException e) {
-			throw new RuntimeException(e);
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	protected void process(EventHeader event) {
-		if (triggerBit) {
-			// Make a new EVIO event.
-			EventBuilder builder = new EventBuilder(EventConstants.PHYSICS_EVENT_TAG, DataType.BANK, EventConstants.EVENT_BANK_NUM);
-			builderQueue.add(new QueuedEtEvent(builder, writers.size()));
-			triggerBit = false;
-		}
-
-		for (int i = 0; i < writers.size(); i++) {
-			EvioWriter evioWriter = writers.get(i);
-			if (evioWriter.hasData(event)) {
-				System.out.println(evioWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
-				EventBuilder builder = null;
-
-				for (QueuedEtEvent queuedEvent : builderQueue) {
-					if (!queuedEvent.getRead(i)) {
-						builder = queuedEvent.getBuilder();
-						queuedEvent.setRead(i);
-						break;
-					}
-				}
-				if (builder == null) {
-					throw new RuntimeException("no queued ET events waiting for an " + evioWriter.getClass().getSimpleName() + " bank");
-				}
-				// Write data.
-				evioWriter.writeData(event, builder);
-			}
-		}
-
-		while (!builderQueue.isEmpty() && builderQueue.peek().banksFilled()) {
-			System.out.println("writing filled ET event, event " + event.getEventNumber());
-			EventBuilder builder = builderQueue.poll().getBuilder();
-			// Write this EVIO event.
-			writeEvioEvent(builder);
-		}
-	}
-
-	private void writeEvioEvent(EventBuilder builder) {
-		EvioBank eventIDBank = new EvioBank(EventConstants.EVENTID_BANK_TAG, DataType.UINT32, 0);
-		int[] eventID = new int[3];
-		eventID[0] = eventsWritten;
-		eventID[1] = 0; //trigger type
-		eventID[2] = 0; //status
-
-		try {
-			eventIDBank.appendIntData(eventID);
-			builder.addChild(builder.getEvent(), eventIDBank);
-		} catch (EvioException e) {
-			throw new RuntimeException(e);
-		}
-
-		builder.setAllHeaderLengths();
-		System.out.printf("Writing event with %d bytes\n", builder.getEvent().getTotalBytes());
-		try {
-			writer.writeEvent(builder.getEvent());
-			++eventsWritten;
-		} catch (EvioException e) {
-			throw new RuntimeException(e);
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-	private class QueuedEtEvent {
-
-		private EventBuilder builder;
-		public boolean readSVT = false;
-		public boolean readECal = false;
-		private boolean[] readData = null;
-
-		public QueuedEtEvent(EventBuilder builder, int numData) {
-			this.builder = builder;
-			readData = new boolean[numData];
-		}
-
-		public void setRead(int i) {
-			readData[i] = true;
-		}
-
-		public boolean getRead(int i) {
-			return readData[i];
-		}
-
-		public EventBuilder getBuilder() {
-			return builder;
-		}
-
-		public boolean banksFilled() {
-			for (boolean x : readData) {
-				if (!x) {
-					return false;
-				}
-			}
-			return true;
-		}
-	}
+    EventWriter writer;
+    String rawCalorimeterHitCollectionName = "EcalReadoutHits";
+    String evioOutputFile = "TestRunData.evio";
+    String ecalName = "Ecal";
+    Queue<QueuedEtEvent> builderQueue = null;
+    private int eventsWritten = 0;
+    public static boolean triggerBit = false;
+    HPSEcalConditions ecalIDConverter = null;
+    ECalEvioWriter ecalWriter = null;
+    SVTEvioWriter svtWriter = null;
+    List<EvioWriter> writers = null;
+    private int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
+
+    public TestRunTriggeredReconToEvio() {
+    }
+
+    public void setEcalMode(int ecalMode) {
+        this.ecalMode = ecalMode;
+        if (ecalMode != EventConstants.ECAL_WINDOW_MODE && ecalMode != EventConstants.ECAL_PULSE_MODE && ecalMode != EventConstants.ECAL_PULSE_INTEGRAL_MODE) {
+            throw new IllegalArgumentException("invalid mode " + ecalMode);
+        }
+        if (ecalWriter != null) {
+            ecalWriter.setMode(ecalMode);
+        }
+    }
+
+    public void setEvioOutputFile(String evioOutputFile) {
+        this.evioOutputFile = evioOutputFile;
+    }
+
+    public void setEcalName(String ecalName) {
+        this.ecalName = ecalName;
+        if (ecalWriter != null) {
+            ecalWriter.setEcalName(ecalName);
+        }
+    }
+
+    public void setRawCalorimeterHitCollectionName(String rawCalorimeterHitCollectionName) {
+        this.rawCalorimeterHitCollectionName = rawCalorimeterHitCollectionName;
+        if (ecalWriter != null) {
+            ecalWriter.setHitCollectionName(rawCalorimeterHitCollectionName);
+        }
+    }
+
+    protected void startOfData() {
+        try {
+            writer = new EventWriter(evioOutputFile);
+        } catch (EvioException e) {
+            throw new RuntimeException(e);
+        }
+
+        writers = new ArrayList<EvioWriter>();
+
+        ecalWriter = new ECalEvioWriter();
+        ecalWriter.setMode(ecalMode);
+        ecalWriter.setEcalName(ecalName);
+        ecalWriter.setHitCollectionName(rawCalorimeterHitCollectionName);
+        writers.add(ecalWriter);
+
+        svtWriter = new SVTEvioWriter();
+        writers.add(svtWriter);
+
+        builderQueue = new LinkedList<QueuedEtEvent>();
+    }
+
+    protected void endOfData() {
+        System.out.println(this.getClass().getSimpleName() + " - wrote " + eventsWritten + " EVIO events in job.");
+        try {
+            writer.close();
+        } catch (EvioException e) {
+            throw new RuntimeException(e);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    protected void process(EventHeader event) {
+        if (triggerBit) {
+            // Make a new EVIO event.
+            EventBuilder builder = new EventBuilder(EventConstants.PHYSICS_EVENT_TAG, DataType.BANK, EventConstants.EVENT_BANK_NUM);
+            builderQueue.add(new QueuedEtEvent(builder, writers.size()));
+            EvioBank eventIDBank = new EvioBank(EventConstants.EVENTID_BANK_TAG, DataType.UINT32, 0);
+            int[] eventID = new int[3];
+            eventID[0] = eventsWritten;
+            eventID[1] = 0; //trigger type
+            eventID[2] = 0; //status
+
+            try {
+                eventIDBank.appendIntData(eventID);
+                builder.addChild(builder.getEvent(), eventIDBank);
+            } catch (EvioException e) {
+                throw new RuntimeException(e);
+            }
+
+            triggerBit = false;
+        }
+
+        for (int i = 0; i < writers.size(); i++) {
+            EvioWriter evioWriter = writers.get(i);
+            if (evioWriter.hasData(event)) {
+                System.out.println(evioWriter.getClass().getSimpleName() + ": writing data, event " + event.getEventNumber());
+                EventBuilder builder = null;
+
+                for (QueuedEtEvent queuedEvent : builderQueue) {
+                    if (!queuedEvent.getRead(i)) {
+                        builder = queuedEvent.getBuilder();
+                        queuedEvent.setRead(i);
+                        break;
+                    }
+                }
+                if (builder == null) {
+                    throw new RuntimeException("no queued ET events waiting for an " + evioWriter.getClass().getSimpleName() + " bank");
+                }
+                // Write data.
+                evioWriter.writeData(event, builder);
+            }
+        }
+
+        while (!builderQueue.isEmpty() && builderQueue.peek().banksFilled()) {
+            System.out.println("writing filled ET event, event " + event.getEventNumber());
+            EventBuilder builder = builderQueue.poll().getBuilder();
+            // Write this EVIO event.
+            writeEvioEvent(builder);
+        }
+    }
+
+    private void writeEvioEvent(EventBuilder builder) {
+        builder.setAllHeaderLengths();
+        System.out.printf("Writing event with %d bytes\n", builder.getEvent().getTotalBytes());
+        try {
+            writer.writeEvent(builder.getEvent());
+            ++eventsWritten;
+        } catch (EvioException e) {
+            throw new RuntimeException(e);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private class QueuedEtEvent {
+
+        private EventBuilder builder;
+        public boolean readSVT = false;
+        public boolean readECal = false;
+        private boolean[] readData = null;
+
+        public QueuedEtEvent(EventBuilder builder, int numData) {
+            this.builder = builder;
+            readData = new boolean[numData];
+        }
+
+        public void setRead(int i) {
+            readData[i] = true;
+        }
+
+        public boolean getRead(int i) {
+            return readData[i];
+        }
+
+        public EventBuilder getBuilder() {
+            return builder;
+        }
+
+        public boolean banksFilled() {
+            for (boolean x : readData) {
+                if (!x) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
 }
\ No newline at end of file
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