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));
}
}
|