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<BassStructure> eventBanks = new ArrayList<BassStructure>(); // 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; }