1 added + 8 modified, total 9 files
hps-java/src/main/java/org/lcsim/hps/evio
diff -N TriggerDataWriter.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ TriggerDataWriter.java 3 Aug 2012 23:14:39 -0000 1.1
@@ -0,0 +1,59 @@
+package org.lcsim.hps.evio;
+
+import java.util.List;
+import org.jlab.coda.jevio.BaseStructure;
+import org.jlab.coda.jevio.DataType;
+import org.jlab.coda.jevio.EventBuilder;
+import org.jlab.coda.jevio.EvioBank;
+import org.jlab.coda.jevio.EvioException;
+import org.lcsim.event.EventHeader;
+
+/**
+ *
+ * @author Sho Uemura <[log in to unmask]>
+ * @version $Id: TriggerDataWriter.java,v 1.1 2012/08/03 23:14:39 meeg Exp $
+ */
+public class TriggerDataWriter implements HitWriter {
+
+ @Override
+ public boolean hasData(EventHeader event) {
+ return event.hasCollection(TriggerData.class, TriggerData.TRIG_COLLECTION);
+ }
+
+ @Override
+ public void writeData(EventHeader event, EventBuilder builder) {
+ // Make a new bank for this crate.
+ BaseStructure topBank = null;
+ // Does this bank already exist?
+ for (BaseStructure bank : builder.getEvent().getChildren()) {
+ if (bank.getHeader().getTag() == EventConstants.ECAL_TOP_BANK_TAG) {
+ topBank = bank;
+ break;
+ }
+ }
+ // If they don't exist, make them.
+ if (topBank == null) {
+ topBank = new EvioBank(EventConstants.ECAL_TOP_BANK_TAG, DataType.BANK, EventConstants.ECAL_BANK_NUMBER);
+ try {
+ builder.addChild(builder.getEvent(), topBank);
+ } catch (EvioException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+ List<TriggerData> triggerList = event.get(TriggerData.class, TriggerData.TRIG_COLLECTION);
+ EvioBank triggerBank = new EvioBank(EventConstants.TRIGGER_BANK_TAG, DataType.UINT32, EventConstants.TRIGGER_BANK_NUMBER);
+ try {
+ triggerBank.appendIntData(triggerList.get(0).getBank());
+ builder.addChild(topBank, triggerBank);
+ } catch (EvioException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public void writeData(EventHeader event, EventHeader toEvent) {
+ toEvent.put(TriggerData.TRIG_COLLECTION, event.get(TriggerData.class, TriggerData.TRIG_COLLECTION));
+ }
+}
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.3 -r1.4
--- TestRunTriggeredReconToLcio.java 3 Aug 2012 00:05:26 -0000 1.3
+++ TestRunTriggeredReconToLcio.java 3 Aug 2012 23:14:39 -0000 1.4
@@ -31,6 +31,7 @@
// HPSEcalConditions ecalIDConverter = null;
ECalHitWriter ecalWriter = null;
SVTHitWriter svtWriter = null;
+ TriggerDataWriter triggerWriter = null;
List<HitWriter> writers = null;
LCIOWriter lcioWriter = null;
Queue<EventHeader> events = null;
@@ -72,6 +73,9 @@
svtWriter = new SVTHitWriter();
writers.add(svtWriter);
+ triggerWriter = new TriggerDataWriter();
+ writers.add(triggerWriter);
+
try {
lcioWriter = new LCIOWriter(new File(outputFile));
} catch (IOException e) {
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.18 -r1.19
--- LCSimTestRunEventBuilder.java 31 May 2012 00:28:18 -0000 1.18
+++ LCSimTestRunEventBuilder.java 3 Aug 2012 23:14:39 -0000 1.19
@@ -62,7 +62,6 @@
// public void setEcalName(String ecalName) {
// ecalReader.setEcalName(ecalName);
// }
-
// public Detector getDetector() {
// return detector;
// }
@@ -108,9 +107,11 @@
eventID = bank.getIntData();
}
if (bank.getHeader().getTag() == EventConstants.ECAL_TOP_BANK_TAG || bank.getHeader().getTag() == EventConstants.ECAL_BOTTOM_BANK_TAG) {
- for (BaseStructure slotBank : bank.getChildren()) {
- if (slotBank.getHeader().getTag() == EventConstants.TRIGGER_BANK_TAG) {
- triggerList.add(new TriggerData(slotBank.getIntData()));
+ if (bank.getChildCount() > 0) {
+ for (BaseStructure slotBank : bank.getChildren()) {
+ if (slotBank.getHeader().getTag() == EventConstants.TRIGGER_BANK_TAG) {
+ triggerList.add(new TriggerData(slotBank.getIntData()));
+ }
}
}
}
@@ -132,6 +133,9 @@
}
}
+ if (triggerList.isEmpty()) {
+ System.out.println("No trigger bank found");
+ }
// Create a new LCSimEvent.
EventHeader lcsimEvent = null;
if (triggerList.isEmpty() || triggerList.get(0).getTime() == 0) {
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.9 -r1.10
--- BasicEvioFileReader.java 16 May 2012 15:59:08 -0000 1.9
+++ BasicEvioFileReader.java 3 Aug 2012 23:14:39 -0000 1.10
@@ -48,7 +48,7 @@
private static void printBank(BaseStructure bank, String indent) throws EvioException {
System.out.println(indent + "Bank contains " + bank.getTotalBytes() + " bytes.");
System.out.println(indent + "Bank has " + bank.getChildCount() + " sub-banks.");
- System.out.format(indent + "Bank tag: 0x%x length: %d type: %s\n", bank.getHeader().getTag(), bank.getHeader().getLength(), bank.getHeader().getDataType());
+ System.out.format(indent + "Bank tag: 0x%x length: %d type: %s num: %d\n", bank.getHeader().getTag(), bank.getHeader().getLength(), bank.getHeader().getDataType(), bank.getHeader().getNumber());
if (bank.getChildCount() > 0) {
for (BaseStructure child : bank.getChildren()) {
printBank(child, indent + "\t");
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.14 -r1.15
--- TestRunTriggeredReconToEvio.java 30 Jul 2012 23:31:45 -0000 1.14
+++ TestRunTriggeredReconToEvio.java 3 Aug 2012 23:14:39 -0000 1.15
@@ -29,6 +29,7 @@
HPSEcalConditions ecalIDConverter = null;
ECalHitWriter ecalWriter = null;
SVTHitWriter svtWriter = null;
+ TriggerDataWriter triggerWriter = null;
List<HitWriter> writers = null;
private int ecalMode = EventConstants.ECAL_PULSE_INTEGRAL_MODE;
@@ -74,6 +75,9 @@
svtWriter = new SVTHitWriter();
writers.add(svtWriter);
+
+ triggerWriter = new TriggerDataWriter();
+ writers.add(triggerWriter);
builderQueue = new LinkedList<QueuedEtEvent>();
}
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.13 -r1.14
--- EventConstants.java 3 Aug 2012 21:37:12 -0000 1.13
+++ EventConstants.java 3 Aug 2012 23:14:39 -0000 1.14
@@ -21,7 +21,8 @@
// These values are put into the number field of the banks.
// FIXME Bank numbers should actually be sequentially numbered and not hard-coded.
public static final int SVT_BANK_NUMBER = 1;
- public static final int ECAL_BANK_NUMBER = 2;
+ public static final int ECAL_BANK_NUMBER = 1;
+ public static final int TRIGGER_BANK_NUMBER = 1;
public static final int ECAL_WINDOW_MODE = 1;
public static final int ECAL_PULSE_MODE = 2;
public static final int ECAL_PULSE_INTEGRAL_MODE = 3;
hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.2 -r1.3
--- TriggerData.java 3 Aug 2012 00:05:26 -0000 1.2
+++ TriggerData.java 3 Aug 2012 23:14:39 -0000 1.3
@@ -5,7 +5,7 @@
/**
*
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: TriggerData.java,v 1.2 2012/08/03 00:05:26 meeg Exp $
+ * @version $Id: TriggerData.java,v 1.3 2012/08/03 23:14:39 meeg Exp $
*/
public class TriggerData implements GenericObject {
public static final int OR_TRIG = 3;
@@ -14,6 +14,7 @@
public static final int AND_TRIG = 6;
public static final int TIME = 7;
public static final int TRIG_BANK_SIZE = 8;
+ public static final String TRIG_COLLECTION = "TriggerBank";
private int[] bank;
@@ -40,6 +41,10 @@
public int getAndTrig() {
return getIntVal(AND_TRIG);
}
+
+ public int[] getBank() {
+ return bank;
+ }
@Override
public int getNInt() {
hps-java/src/main/resources/org/lcsim/hps/steering
diff -u -r1.1 -r1.2
--- HPSTestRunReconToLcio.lcsim 30 Jul 2012 23:31:45 -0000 1.1
+++ HPSTestRunReconToLcio.lcsim 3 Aug 2012 23:14:39 -0000 1.2
@@ -7,10 +7,6 @@
<inputFiles>
<file>${inputFile}</file>
</inputFiles>
-
- <control>
- <numberOfEvents>-1</numberOfEvents>
- </control>
<execute>
<driver name="LoadCalibrations"/>
hps-java/src/main/resources/org/lcsim/hps/steering
diff -u -r1.8 -r1.9
--- HPSTestRunReconToEvio.lcsim 29 Jun 2012 23:00:48 -0000 1.8
+++ HPSTestRunReconToEvio.lcsim 3 Aug 2012 23:14:39 -0000 1.9
@@ -8,10 +8,6 @@
<file>${inputFile}</file>
</inputFiles>
- <control>
- <numberOfEvents>-1</numberOfEvents>
- </control>
-
<execute>
<driver name="LoadCalibrations"/>
<driver name="HPSCalibrationDriver"/>
CVSspam 0.2.12