Author: [log in to unmask] Date: Wed Apr 29 14:25:13 2015 New Revision: 2859 Log: If an SVT ROC bank contains a config bank, extract it and parse it. This code is commented out for now until more testing can be done. Modified: java/trunk/evio/src/main/java/org/hps/evio/SvtEvioReader.java 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 14:25:13 2015 @@ -3,10 +3,13 @@ import java.util.List; import org.jlab.coda.jevio.BaseStructure; +import org.jlab.coda.jevio.EvioEvent; import org.lcsim.detector.tracker.silicon.HpsSiSensor; +import org.lcsim.event.EventHeader; import org.lcsim.event.RawTrackerHit; import org.lcsim.geometry.Subdetector; + import org.hps.util.Pair; /** @@ -111,8 +114,8 @@ @Override protected HpsSiSensor getSensor(int[] data) { - logger.fine("FEB ID: " + SvtEvioUtils.getFebID(data) - + " Hybrid ID: " + SvtEvioUtils.getFebHybridID(data)); + //logger.fine("FEB ID: " + SvtEvioUtils.getFebID(data) + // + " Hybrid ID: " + SvtEvioUtils.getFebHybridID(data)); Pair<Integer, Integer> daqPair = new Pair<Integer, Integer>(SvtEvioUtils.getFebID(data), @@ -155,6 +158,41 @@ protected boolean isValidSampleSet(int[] data) { return !(SvtEvioUtils.isApvHeader(data) || SvtEvioUtils.isApvTail(data)); } + + /** + * Process an EVIO event and extract all information relevant to the SVT. + * + * @param event - EVIO event to process + * @param lcsimEvent - LCSim event to put collections into + * @return true if the EVIO was processed successfully, false otherwise + */ + @Override + public boolean processEvent(EvioEvent event, EventHeader lcsimEvent) { + + // Make RawTrackerHits. This will also search for and store banks containing + // the configuration of the SVT. + boolean success = super.processEvent(event, lcsimEvent); + + /*logger.fine("Event contains " + eventBanks.size() + " event banks"); + // Loop through all of the event banks and process them + for (BaseStructure eventBank : eventBanks) { + logger.fine(eventBank.toString()); + if (eventBank.getHeader().getTag() == 57614) { + logger.fine("Configuration bank found"); + String[] stringData = eventBank.getStringData(); + logger.fine("String data size: " + stringData.length); + System.out.println("Configuration: "); + for (String stringDatum : stringData) { + System.out.println("Data: " + stringDatum); + } + } + }*/ + + // Clear out the event banks after they have been processed + eventBanks.clear(); + + return success; + } /** * Make a {@linkplain RawTrackerHit} from a set of samples. @@ -165,7 +203,7 @@ @Override protected RawTrackerHit makeHit(int[] data) { - logger.fine("Channel: " + SvtEvioUtils.getPhysicalChannelNumber(data)); + //logger.fine("Channel: " + SvtEvioUtils.getPhysicalChannelNumber(data)); return makeHit(data, SvtEvioUtils.getPhysicalChannelNumber(data)); } }