Commit in hps-java/src/main/java/org/lcsim/hps/evio on MAIN | |||
MCEventBuilder.java | +279 | added 1.1 | |
LCSimEventBuilder.java | +5 | -251 | 1.2 -> 1.3 |
LCSimTestRunEventBuilder.java | +57 | -30 | 1.2 -> 1.3 |
TestRunReconToEvio.java | +1 | -1 | 1.3 -> 1.4 |
+342 | -282 |
updates to evio conversion classes
diff -N MCEventBuilder.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ MCEventBuilder.java 3 Apr 2012 18:36:48 -0000 1.1 @@ -0,0 +1,279 @@
+package org.lcsim.hps.evio; + +import java.util.ArrayList; +import java.util.List; + +import org.jlab.coda.jevio.BaseStructure; +import org.jlab.coda.jevio.BaseStructureHeader; +import org.jlab.coda.jevio.CompositeData; +import org.jlab.coda.jevio.EvioEvent; +import org.jlab.coda.jevio.EvioException; +import org.lcsim.detector.DetectorElementStore; +import org.lcsim.detector.IDetectorElement; +import org.lcsim.detector.identifier.IExpandedIdentifier; +import org.lcsim.detector.identifier.IIdentifier; +import org.lcsim.detector.identifier.IIdentifierDictionary; +import org.lcsim.detector.tracker.silicon.SiSensor; +import org.lcsim.event.EventHeader; +import org.lcsim.event.RawCalorimeterHit; +import org.lcsim.event.RawTrackerHit; +import org.lcsim.event.base.BaseLCSimEvent; +import org.lcsim.event.base.BaseRawCalorimeterHit; +import org.lcsim.event.base.BaseRawTrackerHit; +import org.lcsim.geometry.Detector; +import org.lcsim.geometry.Subdetector; +import org.lcsim.geometry.subdetector.HPSEcal3; +import org.lcsim.geometry.subdetector.HPSTracker; +import org.lcsim.util.lcio.LCIOConstants; + +/** + * Build LCSim events from EVIO data. + * + * @author Jeremy McCormick <[log in to unmask]> + * + */ +public final class MCEventBuilder implements LCSimEventBuilder { + + // Names of subdetectors. + private String trackerName; + private String calorimeterName; + + // Names of raw data collections with default settings. + private String rawTrackerHitCollectionName = "RawTrackerHitMaker_RawTrackerHits"; + private String rawCalorimeterHitCollectionName = "EcalRawHits"; + + // Detector conditions object. + private Detector detector; + + // Debug flag. + private boolean debug = false; + + /* + public LCSimEventBuilder(String detectorName) { + + // Make a dummy event to setup the conditions system. + EventHeader dummyEvent = new BaseLCSimEvent(0, 0, detectorName); + detector = dummyEvent.getDetector(); + + // Set default detector names by looking for HPS detector types. + for (Subdetector subdet : detector.getSubdetectorList()) { + if (subdet instanceof HPSTracker) { + trackerName = subdet.getName(); + System.out.println("trackerName = " + trackerName); + } else if (subdet instanceof HPSEcal3) { + calorimeterName = subdet.getName(); + System.out.println("calorimeterName = " + calorimeterName); + } + } + } + */ + + public MCEventBuilder() + {} + + public void setDetectorName(String detectorName) { + + // Make a dummy event to setup the conditions system. + EventHeader dummyEvent = new BaseLCSimEvent(0, 0, detectorName); + detector = dummyEvent.getDetector(); + + // Set default detector names by looking for HPS detector types. + for (Subdetector subdet : detector.getSubdetectorList()) { + if (subdet instanceof HPSTracker) { + trackerName = subdet.getName(); + System.out.println("trackerName = " + trackerName); + } else if (subdet instanceof HPSEcal3) { + calorimeterName = subdet.getName(); + System.out.println("calorimeterName = " + calorimeterName); + } + } + } + + public void setDebug(boolean debug) { + this.debug = debug; + } + + public String getRawTrackerHitCollectionName() { + return rawTrackerHitCollectionName; + } + + public void setRawTrackerHitCollectionName(String rawTrackerHitCollectionName) { + this.rawTrackerHitCollectionName = rawTrackerHitCollectionName; + } + + public String getRawCalorimeterHitCollectionName() { + return rawCalorimeterHitCollectionName; + } + + public void setRawCalorimeterHitCollectionName(String rawCalorimeterHitCollectionName) { + this.rawCalorimeterHitCollectionName = rawCalorimeterHitCollectionName; + } + + public String getTrackerName() { + return trackerName; + } + + public void setTrackerName(String trackerName) { + this.trackerName = trackerName; + } + + public String getTrackerReadoutName() { + return detector.getSubdetector(trackerName).getReadout().getName(); + } + + public String getCalorimeterName() { + return calorimeterName; + } + + public void setCalorimeterName(String calorimeterName) { + this.calorimeterName = calorimeterName; + } + + public String getCalorimeterReadoutName() { + return detector.getSubdetector(calorimeterName).getReadout().getName(); + } + + public Detector getDetector() { + return detector; + } + + public EventHeader makeLCSimEvent(EvioEvent evioEvent) { + + // Make RawTrackerHit collection. + List<RawTrackerHit> rawTrackerHits = makeRawTrackerHits(evioEvent); + + // Make RawCalorimeterHit collection, combining top and bottom section of ECal into one list. + List<RawCalorimeterHit> rawCalorimeterHits = makeRawCalorimeterHits(evioEvent); + + // Create a new LCSimEvent. + //EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detectorName); + EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detector.getDetectorName()); + + // Add the hit collections. + lcsimEvent.put(rawTrackerHitCollectionName, rawTrackerHits, RawTrackerHit.class, (1 << LCIOConstants.TRAWBIT_ID1), getTrackerReadoutName()); + lcsimEvent.put(rawCalorimeterHitCollectionName, rawCalorimeterHits, RawCalorimeterHit.class, 0, getCalorimeterReadoutName()); + + return lcsimEvent; + } + + + private List<RawTrackerHit> makeRawTrackerHits(EvioEvent event) { + List<RawTrackerHit> rawTrackerHits = null; + for (BaseStructure bank : event.getChildren()) { + if (bank.getHeader().getTag() == MCRawDataToEvio4Converter.trackerBankTag) { + //System.out.println("found SVT bank; tag = " + MCRawDataToEvio4Converter.trackerBankTag); + CompositeData cdata = null; + try { + cdata = bank.getCompositeData(); + } + catch (EvioException e) { + throw new RuntimeException(e); + } + rawTrackerHits = makeRawTrackerHits(cdata); + } + } + return rawTrackerHits; + } + + private List<RawTrackerHit> makeRawTrackerHits(CompositeData cdata) { + + // Get some ID info before looping in order to strip out irrelevant fields. + // TODO Next three should be cached so as to avoid calling every event. + IIdentifierDictionary dict = detector.getSubdetector(trackerName).getDetectorElement().getIdentifierHelper().getIdentifierDictionary(); + int fieldIdx = dict.getFieldIndex("side"); + int sideIdx = dict.getFieldIndex("strip"); + + // List of hits to return. + List<RawTrackerHit> hits = new ArrayList<RawTrackerHit>(); + + // Loop over the items in the CompositeData. + int n = cdata.getNValue(); + if (debug) + System.out.println("RawTrackerHit.N = " + n); + for (int i=0; i<n; i++) { + + // Get values for hit from composite data. + Long id = cdata.getLong(); + int time = cdata.getInt(); + int adcValue = cdata.getInt(); + + // Make the new hit. + RawTrackerHit hit = new BaseRawTrackerHit(id, time, new short[] {(short)adcValue}); + + // The "side" and "strip" fields needs to be stripped from the ID for sensor lookup. + IExpandedIdentifier expId = dict.unpack(hit.getIdentifier()); + expId.setValue(fieldIdx, 0); + expId.setValue(sideIdx, 0); + IIdentifier strippedId = dict.pack(expId); + + // Find the sensor for this hit using the stripped ID. + SiSensor sensor = findSensor(strippedId); + + // Assign sensor to hit. + hit.setDetectorElement(sensor); + + // Add this hit to the list. + hits.add(hit); + } + + if (debug) + System.out.println("makeRawTrackerHits created " + hits.size() + " hits"); + + return hits; + } + + private SiSensor findSensor(IIdentifier id) { + List<IDetectorElement> des = DetectorElementStore.getInstance().find(id); + SiSensor sensor = null; + if (des == null || des.size() == 0) { + throw new RuntimeException("Failed to find any DetectorElements with ID <0x" + Long.toHexString(id.getValue()) + ">."); + } + else if (des.size() == 1) { + sensor = (SiSensor)des.get(0); + } + else { + for (IDetectorElement de : des) { + if (de instanceof SiSensor) { + sensor = (SiSensor)de; + break; + } + } + } + if (sensor == null) { + throw new RuntimeException("No sensor was found with ID <0x" + Long.toHexString(id.getValue()) + ">."); + } + return sensor; + } + + private List<RawCalorimeterHit> makeRawCalorimeterHits(EvioEvent event) { + List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); + for (BaseStructure bank : event.getChildren()) { + BaseStructureHeader header = bank.getHeader(); + if (header.getTag() == MCRawDataToEvio4Converter.ecalBottomBankTag || header.getTag() == MCRawDataToEvio4Converter.ecalTopBankTag) { + CompositeData cdata = null; + try { + cdata = bank.getCompositeData(); + } + catch (EvioException e) { + throw new RuntimeException(e); + } + List<RawCalorimeterHit> bankHits = makeRawCalorimeterHits(cdata); + hits.addAll(bankHits); + } + } + return hits; + } + + private List<RawCalorimeterHit> makeRawCalorimeterHits(CompositeData cdata) { + List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); + List<Object> items = cdata.getItems(); + int n = cdata.getNValue(); + for (int i=0; i<n; i++) { + long id = cdata.getLong(); + int amplitude = cdata.getInt(); + int timestamp = cdata.getInt(); + hits.add(new BaseRawCalorimeterHit(id, amplitude, timestamp)); + } + return hits; + } +}
\ No newline at end of file
diff -u -r1.2 -r1.3 --- LCSimEventBuilder.java 22 Mar 2012 03:54:53 -0000 1.2 +++ LCSimEventBuilder.java 3 Apr 2012 18:36:48 -0000 1.3 @@ -1,256 +1,10 @@
package org.lcsim.hps.evio;
-import java.util.ArrayList; -import java.util.List; - -import org.jlab.coda.jevio.BaseStructure; -import org.jlab.coda.jevio.BaseStructureHeader; -import org.jlab.coda.jevio.CompositeData;
import org.jlab.coda.jevio.EvioEvent;
-import org.jlab.coda.jevio.EvioException; -import org.lcsim.detector.DetectorElementStore; -import org.lcsim.detector.IDetectorElement; -import org.lcsim.detector.identifier.IExpandedIdentifier; -import org.lcsim.detector.identifier.IIdentifier; -import org.lcsim.detector.identifier.IIdentifierDictionary; -import org.lcsim.detector.tracker.silicon.SiSensor;
import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawCalorimeterHit; -import org.lcsim.event.RawTrackerHit; -import org.lcsim.event.base.BaseLCSimEvent; -import org.lcsim.event.base.BaseRawCalorimeterHit; -import org.lcsim.event.base.BaseRawTrackerHit; -import org.lcsim.geometry.Detector; -import org.lcsim.geometry.Subdetector; -import org.lcsim.geometry.subdetector.HPSEcal3; -import org.lcsim.geometry.subdetector.HPSTracker; -import org.lcsim.util.lcio.LCIOConstants; - -/** - * Build LCSim events from EVIO data. - * - * @author Jeremy McCormick <[log in to unmask]> - * - */ -public class LCSimEventBuilder { - - // Names of subdetectors. - private String trackerName; - private String calorimeterName; - - // Names of raw data collections with default settings. - private String rawTrackerHitCollectionName = "RawTrackerHitMaker_RawTrackerHits"; - private String rawCalorimeterHitCollectionName = "EcalRawHits"; - - // Detector conditions object. - private Detector detector; - - // Debug flag. - private boolean debug = false; - - public LCSimEventBuilder(String detectorName) { - - // Make a dummy event to setup the conditions system. - EventHeader dummyEvent = new BaseLCSimEvent(0, 0, detectorName); - detector = dummyEvent.getDetector(); - - // Set default detector names by looking for HPS detector types. - for (Subdetector subdet : detector.getSubdetectorList()) { - if (subdet instanceof HPSTracker) { - trackerName = subdet.getName(); - System.out.println("trackerName = " + trackerName); - } else if (subdet instanceof HPSEcal3) { - calorimeterName = subdet.getName(); - System.out.println("calorimeterName = " + calorimeterName); - } - } - } - - public void setDebug(boolean debug) { - this.debug = debug; - } - - public String getRawTrackerHitCollectionName() { - return rawTrackerHitCollectionName; - } - - public void setRawTrackerHitCollectionName(String rawTrackerHitCollectionName) { - this.rawTrackerHitCollectionName = rawTrackerHitCollectionName; - } - - public String getRawCalorimeterHitCollectionName() { - return rawCalorimeterHitCollectionName; - } - - public void setRawCalorimeterHitCollectionName(String rawCalorimeterHitCollectionName) { - this.rawCalorimeterHitCollectionName = rawCalorimeterHitCollectionName; - } - - public String getTrackerName() { - return trackerName; - } - - public void setTrackerName(String trackerName) { - this.trackerName = trackerName; - } - - public String getTrackerReadoutName() { - return detector.getSubdetector(trackerName).getReadout().getName(); - } - - public String getCalorimeterName() { - return calorimeterName; - } - - public void setCalorimeterName(String calorimeterName) { - this.calorimeterName = calorimeterName; - } - - public String getCalorimeterReadoutName() { - return detector.getSubdetector(calorimeterName).getReadout().getName(); - } - - public Detector getDetector() { - return detector; - } - - public EventHeader makeLCSimEvent(EvioEvent evioEvent) { - - // Make RawTrackerHit collection. - List<RawTrackerHit> rawTrackerHits = makeRawTrackerHits(evioEvent); - - // Make RawCalorimeterHit collection, combining top and bottom section of ECal into one list. - List<RawCalorimeterHit> rawCalorimeterHits = makeRawCalorimeterHits(evioEvent); - - // Create a new LCSimEvent. - //EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detectorName); - EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detector.getDetectorName()); - - // Add the hit collections. - lcsimEvent.put(rawTrackerHitCollectionName, rawTrackerHits, RawTrackerHit.class, (1 << LCIOConstants.TRAWBIT_ID1), getTrackerReadoutName()); - lcsimEvent.put(rawCalorimeterHitCollectionName, rawCalorimeterHits, RawCalorimeterHit.class, 0, getCalorimeterReadoutName()); - - return lcsimEvent; - } -
- private List<RawTrackerHit> makeRawTrackerHits(EvioEvent event) { - List<RawTrackerHit> rawTrackerHits = null; - for (BaseStructure bank : event.getChildren()) { - if (bank.getHeader().getTag() == MCRawDataToEvio4Converter.trackerBankTag) { - //System.out.println("found SVT bank; tag = " + MCRawDataToEvio4Converter.trackerBankTag); - CompositeData cdata = null; - try { - cdata = bank.getCompositeData(); - } - catch (EvioException e) { - throw new RuntimeException(e); - } - rawTrackerHits = makeRawTrackerHits(cdata); - } - } - return rawTrackerHits; - } - - private List<RawTrackerHit> makeRawTrackerHits(CompositeData cdata) { - - // Get some ID info before looping in order to strip out irrelevant fields. - // TODO Next three should be cached so as to avoid calling every event. - IIdentifierDictionary dict = detector.getSubdetector(trackerName).getDetectorElement().getIdentifierHelper().getIdentifierDictionary(); - int fieldIdx = dict.getFieldIndex("side"); - int sideIdx = dict.getFieldIndex("strip"); - - // List of hits to return. - List<RawTrackerHit> hits = new ArrayList<RawTrackerHit>(); - - // Loop over the items in the CompositeData. - int n = cdata.getNValue(); - if (debug) - System.out.println("RawTrackerHit.N = " + n); - for (int i=0; i<n; i++) { - - // Get values for hit from composite data. - Long id = cdata.getLong(); - int time = cdata.getInt(); - int adcValue = cdata.getInt(); - - // Make the new hit. - RawTrackerHit hit = new BaseRawTrackerHit(id, time, new short[] {(short)adcValue}); - - // The "side" and "strip" fields needs to be stripped from the ID for sensor lookup. - IExpandedIdentifier expId = dict.unpack(hit.getIdentifier()); - expId.setValue(fieldIdx, 0); - expId.setValue(sideIdx, 0); - IIdentifier strippedId = dict.pack(expId); - - // Find the sensor for this hit using the stripped ID. - SiSensor sensor = findSensor(strippedId); - - // Assign sensor to hit. - hit.setDetectorElement(sensor); - - // Add this hit to the list. - hits.add(hit); - } - - if (debug) - System.out.println("makeRawTrackerHits created " + hits.size() + " hits"); - - return hits; - } - - private SiSensor findSensor(IIdentifier id) { - List<IDetectorElement> des = DetectorElementStore.getInstance().find(id); - SiSensor sensor = null; - if (des == null || des.size() == 0) { - throw new RuntimeException("Failed to find any DetectorElements with ID <0x" + Long.toHexString(id.getValue()) + ">."); - } - else if (des.size() == 1) { - sensor = (SiSensor)des.get(0); - } - else { - for (IDetectorElement de : des) { - if (de instanceof SiSensor) { - sensor = (SiSensor)de; - break; - } - } - } - if (sensor == null) { - throw new RuntimeException("No sensor was found with ID <0x" + Long.toHexString(id.getValue()) + ">."); - } - return sensor; - } - - private List<RawCalorimeterHit> makeRawCalorimeterHits(EvioEvent event) { - List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); - for (BaseStructure bank : event.getChildren()) { - BaseStructureHeader header = bank.getHeader(); - if (header.getTag() == MCRawDataToEvio4Converter.ecalBottomBankTag || header.getTag() == MCRawDataToEvio4Converter.ecalTopBankTag) { - CompositeData cdata = null; - try { - cdata = bank.getCompositeData(); - } - catch (EvioException e) { - throw new RuntimeException(e); - } - List<RawCalorimeterHit> bankHits = makeRawCalorimeterHits(cdata); - hits.addAll(bankHits); - } - } - return hits; - } - - private List<RawCalorimeterHit> makeRawCalorimeterHits(CompositeData cdata) { - List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); - List<Object> items = cdata.getItems(); - int n = cdata.getNValue(); - for (int i=0; i<n; i++) { - long id = cdata.getLong(); - int amplitude = cdata.getInt(); - int timestamp = cdata.getInt(); - hits.add(new BaseRawCalorimeterHit(id, amplitude, timestamp)); - } - return hits; - } -}
\ No newline at end of file
+public interface LCSimEventBuilder { + EventHeader makeLCSimEvent(EvioEvent evioEvent); + void setDetectorName(String detectorName); + void setDebug(boolean debug); +}
diff -u -r1.2 -r1.3 --- LCSimTestRunEventBuilder.java 2 Apr 2012 18:59:12 -0000 1.2 +++ LCSimTestRunEventBuilder.java 3 Apr 2012 18:36:48 -0000 1.3 @@ -1,5 +1,7 @@
package org.lcsim.hps.evio;
+import static org.lcsim.hps.evio.EventConstants.SVT_BANK_TAG; +
import java.util.ArrayList; import java.util.List;
@@ -8,46 +10,44 @@
import org.jlab.coda.jevio.CompositeData; import org.jlab.coda.jevio.EvioEvent; import org.jlab.coda.jevio.EvioException;
-import org.lcsim.detector.DetectorElementStore; -import org.lcsim.detector.IDetectorElement; -import org.lcsim.detector.identifier.IExpandedIdentifier; -import org.lcsim.detector.identifier.IIdentifier; -import org.lcsim.detector.identifier.IIdentifierDictionary; -import org.lcsim.detector.tracker.silicon.SiSensor;
import org.lcsim.event.EventHeader; import org.lcsim.event.RawCalorimeterHit;
-import org.lcsim.event.RawTrackerHit;
import org.lcsim.event.base.BaseLCSimEvent; import org.lcsim.event.base.BaseRawCalorimeterHit;
-import org.lcsim.event.base.BaseRawTrackerHit;
import org.lcsim.geometry.Detector; import org.lcsim.geometry.Subdetector; import org.lcsim.geometry.subdetector.HPSEcal3; import org.lcsim.geometry.subdetector.HPSTracker; import org.lcsim.geometry.util.IDEncoder;
-import org.lcsim.util.lcio.LCIOConstants;
+import org.lcsim.hps.recon.tracking.HPSSVTData;
/** * Build LCSim events from EVIO data.
- *
* @author Sho Uemura <[log in to unmask]>
- * @version $Id: LCSimTestRunEventBuilder.java,v 1.2 2012/04/02 18:59:12 meeg Exp $ - *
+ * @author Jeremy McCormick <[log in to unmask]> + * @version $Id: LCSimTestRunEventBuilder.java,v 1.3 2012/04/03 18:36:48 jeremy Exp $
*/
-public class LCSimTestRunEventBuilder {
+public class LCSimTestRunEventBuilder implements LCSimEventBuilder {
// Names of subdetectors. private String trackerName; private String calorimeterName;
+
// Names of raw data collections with default settings. private String rawTrackerHitCollectionName = "RawTrackerHitMaker_RawTrackerHits"; private String rawCalorimeterHitCollectionName = "EcalRawHits";
+ + //private String svtDataCollectionName; +
// Detector conditions object. private Detector detector;
+
// Debug flag. private boolean debug = false;
- public LCSimTestRunEventBuilder(String detectorName) {
+ public LCSimTestRunEventBuilder() {} + + public void setDetectorName(String detectorName) {
// Make a dummy event to setup the conditions system. EventHeader dummyEvent = new BaseLCSimEvent(0, 0, detectorName);
@@ -116,22 +116,60 @@
public EventHeader makeLCSimEvent(EvioEvent evioEvent) { // Make RawTrackerHit collection.
- List<RawTrackerHit> rawTrackerHits = makeRawTrackerHits(evioEvent);
+ //List<RawTrackerHit> rawTrackerHits = makeRawTrackerHits(evioEvent);
// Make RawCalorimeterHit collection, combining top and bottom section of ECal into one list. List<RawCalorimeterHit> rawCalorimeterHits = makeRawCalorimeterHits(evioEvent); // Create a new LCSimEvent.
- //EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detectorName);
EventHeader lcsimEvent = new BaseLCSimEvent(0, evioEvent.getHeader().getNumber(), detector.getDetectorName()); // Add the hit collections.
- lcsimEvent.put(rawTrackerHitCollectionName, rawTrackerHits, RawTrackerHit.class, (1 << LCIOConstants.TRAWBIT_ID1), getTrackerReadoutName());
+ //lcsimEvent.put(rawTrackerHitCollectionName, rawTrackerHits, RawTrackerHit.class, (1 << LCIOConstants.TRAWBIT_ID1), getTrackerReadoutName());
lcsimEvent.put(rawCalorimeterHitCollectionName, rawCalorimeterHits, RawCalorimeterHit.class, 0, getCalorimeterReadoutName()); return lcsimEvent; }
+ + private List<HPSSVTData> makeSVTData(EvioEvent event) { + List<HPSSVTData> data = new ArrayList<HPSSVTData>(); + for (BaseStructure crateBank : event.getChildren()) { + int crateTag = crateBank.getHeader().getTag(); + if (crateTag == SVT_BANK_TAG) { + int[] intData = crateBank.getIntData(); + + int n = intData.length; + for (int i=0; i<n; i+=4) { + + int[] sampleData = new int[4]; + sampleData[0] = intData[i]; + sampleData[1] = intData[i+1]; + sampleData[2] = intData[i+2]; + sampleData[3] = intData[i+3]; + + HPSSVTData svtData = new HPSSVTData(sampleData); + + data.add(svtData); + + /* + int fpga = svtData.getFPGAAddress(); + int hybrid = svtData.getHybridNumber(); + int channel = svtData.getChannelNumber(); + int apv = svtData.getAPVNumber(); + + System.out.println("fpga=" + fpga + "; hybrid=" + hybrid + "; channel=" + channel + "; apv=" + apv); + for (int j=0; j<6; j++) { + int val = svtData.getSample(j); + System.out.println(" sample[" + j + "]="+val); + } + */ + } + } + } + return data; + }
+ /*
private List<RawTrackerHit> makeRawTrackerHits(EvioEvent event) { List<RawTrackerHit> rawTrackerHits = new ArrayList<RawTrackerHit>(); for (BaseStructure bank : event.getChildren()) {
@@ -149,6 +187,7 @@
return rawTrackerHits; }
+
private List<RawTrackerHit> makeRawTrackerHits(CompositeData cdata) { // Get some ID info before looping in order to strip out irrelevant fields.
@@ -218,6 +257,7 @@
} return sensor; }
+ */
private List<RawCalorimeterHit> makeRawCalorimeterHits(EvioEvent event) { List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>();
@@ -293,17 +333,4 @@
} return hits; }
- - private List<RawCalorimeterHit> makeRawCalorimeterHits_old(CompositeData cdata) { - List<RawCalorimeterHit> hits = new ArrayList<RawCalorimeterHit>(); - List<Object> items = cdata.getItems(); - int n = cdata.getNValue(); - for (int i = 0; i < n; i++) { - long id = cdata.getLong(); - int amplitude = cdata.getInt(); - int timestamp = cdata.getInt(); - hits.add(new BaseRawCalorimeterHit(id, amplitude, timestamp)); - } - return hits; - }
}
\ No newline at end of file
diff -u -r1.3 -r1.4 --- TestRunReconToEvio.java 1 Apr 2012 21:20:56 -0000 1.3 +++ TestRunReconToEvio.java 3 Apr 2012 18:36:48 -0000 1.4 @@ -41,7 +41,7 @@
EventWriter writer; String rawCalorimeterHitCollectionName = "EcalDigitizedHits"; String svtCollectionName = "SVTData";
- String evioOutputFile = "MCRawData.evio";
+ String evioOutputFile = "TestRunData.evio";
EventBuilder builder = null; private int eventsWritten = 0;
Use REPLY-ALL to reply to list
To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1