Author: [log in to unmask]
Date: Wed Apr 29 10:41:32 2015
New Revision: 2855
Log:
Add hooks to check if an event contains the configuration of the SVT. Work in progress
Modified:
java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java
java/trunk/evio/src/main/java/org/hps/evio/SvtEvioReader.java
Modified: java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java
=============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java (original)
+++ java/trunk/evio/src/main/java/org/hps/evio/AbstractSvtEvioReader.java Wed Apr 29 10:41:32 2015
@@ -46,6 +46,9 @@
protected Map<Pair<Integer /* FPGA */, Integer /* Hybrid */>,
HpsSiSensor /* Sensor */> daqPairToSensor
= new HashMap<Pair<Integer, Integer>, HpsSiSensor>();
+
+ // A collection of banks that should be processed after all hits have been made
+ protected List<BaseStructure> eventBanks = new ArrayList<BaseStructure>();
// Flag indicating whether the DAQ map has been setup
protected boolean isDaqMapSetup = false;
@@ -112,15 +115,14 @@
*/
abstract protected HpsSiSensor getSensor(int[] data);
-
/**
* Check whether a data bank is valid i.e. contains SVT samples only.
*
* @param dataBank - An EVIO bank containing integer data
* @return true if the bank is valid, false otherwise
*/
- abstract protected boolean isValidDataBank(BaseStructure dataBank);
-
+ abstract protected boolean isValidDataBank(BaseStructure dataBank);
+
/**
* Check whether the samples are valid
*
Modified: java/trunk/evio/src/main/java/org/hps/evio/SvtEvioReader.java
=============================================================================
--- java/trunk/evio/src/main/java/org/hps/evio/SvtEvioReader.java (original)
+++ java/trunk/evio/src/main/java/org/hps/evio/SvtEvioReader.java Wed Apr 29 10:41:32 2015
@@ -123,7 +123,7 @@
/**
* Check whether a data bank is valid i.e. contains SVT samples only. For
- * the engineering run, a valid data bank has a tag of 1.
+ * the engineering run, a valid data bank has a tag of 3.
*
* @param dataBank - An EVIO bank containing integer data
* @return true if the bank is valid, false otherwise
@@ -131,7 +131,17 @@
*/
@Override
protected boolean isValidDataBank(BaseStructure dataBank) {
- if (dataBank.getHeader().getTag() != 3) return false;
+
+ // The SVT configuration is stored in a bank with tag equal to 57614.
+ // All other event banks are invalid
+ if (dataBank.getHeader().getTag() == 57614) {
+
+ // Store the event bank for processing later.
+ eventBanks.add(dataBank);
+
+ return false;
+ } else if (dataBank.getHeader().getTag() != 3) return false;
+
return true;
}
|