hps-java/src/main/java/org/lcsim/hps/evio
diff -u -r1.4 -r1.5
--- SVTEvioReader.java 28 Apr 2012 15:25:41 -0000 1.4
+++ SVTEvioReader.java 29 Apr 2012 16:55:34 -0000 1.5
@@ -10,8 +10,10 @@
//--- org.lcsim ---//
import org.lcsim.event.EventHeader;
+import org.lcsim.event.GenericObject;
//--- hps-java ---//
+import org.lcsim.hps.recon.tracking.FpgaData;
import org.lcsim.hps.recon.tracking.HPSSVTData;
import org.lcsim.hps.recon.tracking.SVTDataToRawTrackerHitDriver;
@@ -21,19 +23,18 @@
/**
*
* @author Omar Moreno <[log in to unmask]>
- * @version $Id: SVTEvioReader.java,v 1.4 2012/04/28 15:25:41 meeg Exp $
- *
+ * @version $Id: SVTEvioReader.java,v 1.5 2012/04/29 16:55:34 omoreno Exp $
*/
public class SVTEvioReader extends EvioReader {
SVTDataToRawTrackerHitDriver hitMaker;
+ String fpgaDataCollectionName = "FPGAData";
/**
*
*/
- public SVTEvioReader()
- {
+ public SVTEvioReader(){
hitCollectionName = "SVTData";
debug = false;
};
@@ -41,13 +42,18 @@
/**
*
*/
- public boolean makeHits(EvioEvent event, EventHeader lcsimEvent)
- {
- // Create a list of HPSSVTData
+ public boolean makeHits(EvioEvent event, EventHeader lcsimEvent){
+ // Create a list of HPSSVTData to extract the
List<HPSSVTData> svtData = new ArrayList<HPSSVTData>();
- boolean foundBank = makeSVTData(event, svtData);
- lcsimEvent.put(hitCollectionName, svtData, HPSSVTData.class, 0);
+ // Create a list to hold the temperatures
+ List<FpgaData> fpgaData = new ArrayList<FpgaData>();
+
+ boolean foundBank = makeSVTData(event, svtData, fpgaData);
+
+ lcsimEvent.put(hitCollectionName, svtData, HPSSVTData.class, 0);
+ lcsimEvent.put(fpgaDataCollectionName, fpgaData, GenericObject.class, 0);
+
return foundBank;
}
@@ -56,8 +62,8 @@
* @param event
* @return
*/
- public boolean makeSVTData(EvioEvent event, List<HPSSVTData> svtDataCollection)
- {
+ public boolean makeSVTData(EvioEvent event, List<HPSSVTData> svtDataCollection ,
+ List<FpgaData> fpgaDataCollection){
boolean foundBank = false;
for(BaseStructure crateBank : event.getChildren()){
int crateTag = crateBank.getHeader().getTag();
@@ -89,6 +95,9 @@
int[] temperatureData = new int[6];
System.arraycopy(data, 1, temperatureData, 0, 6);
+ // Add temperatures to FPGA data container
+ fpgaDataCollection.add(fpgaBank.getHeader().getTag(), new FpgaData(temperatureData, data[data.length - 1]));
+
if(debug){
System.out.println(this.getClass().getSimpleName() + ": The temperatures are: ");
double[] temps = HPSSVTData.getTemperature(temperatureData);