Author: [log in to unmask]
Date: Wed Jul 29 17:36:09 2015
New Revision: 3300
Log:
Add enum for indexing full scaler data array.
Added:
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerDataIndex.java
Modified:
java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java
Modified: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java (original)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerData.java Wed Jul 29 17:36:09 2015
@@ -7,8 +7,8 @@
import org.lcsim.event.GenericObject;
/**
- * This class encapsulates EVIO scaler data which is simply an array of integer values. The exact meaning of each of these integer words is defined
- * externally to this class.
+ * This class encapsulates EVIO scaler data which is simply an array of integer values. The exact meaning of each of
+ * these integer words is defined externally to this class.
*
* @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
*/
@@ -38,7 +38,7 @@
public static ScalerData read(final EventHeader event, final String collectionName) {
ScalerData data = null;
if (event.hasCollection(GenericObject.class, collectionName)) {
- System.out.println("ScalerData - found collection");
+ //System.out.println("ScalerData - found collection");
final List<GenericObject> objects = event.get(GenericObject.class, collectionName);
data = new ScalerData();
data.fromGenericObject(objects.get(0));
@@ -88,6 +88,15 @@
public Integer getValue(final int index) {
return this.data[index];
}
+
+ /**
+ * Get the value using a {@link ScalerDataIndex} enum.
+ *
+ * @return the value at the index
+ */
+ public Integer getValue(ScalerDataIndex scalarDataIndex) {
+ return this.data[scalarDataIndex.index()];
+ }
/**
* Get the number of scalers.
@@ -109,7 +118,8 @@
}
/**
- * Convert this object to a readable string, which is a list of integer values enclosed in braces and separated by commas.
+ * Convert this object to a readable string, which is a list of integer values enclosed in braces and separated by
+ * commas.
*
* @return this object converted to a string
*/
Added: java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerDataIndex.java
=============================================================================
--- java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerDataIndex.java (added)
+++ java/trunk/record-util/src/main/java/org/hps/record/scalers/ScalerDataIndex.java Wed Jul 29 17:36:09 2015
@@ -0,0 +1,57 @@
+package org.hps.record.scalers;
+
+/**
+ * Represents an index into a {@link ScalerData} array from EVIO data (full 72 word integer array).
+ *
+ * @author Jeremy McCormick, SLAC
+ */
+public enum ScalerDataIndex {
+
+ /**
+ * Gated clock.
+ */
+ CLOCK_GATED(67),
+ /**
+ * Ungated clock.
+ */
+ CLOCK_UNGATED(68),
+ /**
+ * Gated Faraday cup TDC threshold.
+ */
+ FCUP_TDC_GATED(3),
+ /**
+ * Ungated Faraday cup TDC threshold.
+ */
+ FCUP_TDC_UNGATED(35),
+ /**
+ * Gated Faraday cup TRG threshold.
+ */
+ FCUP_TRG_GATED(19),
+ /**
+ * Ungated Faraday cup TRG threshold.
+ */
+ FCUP_TRG_UNGATED(51);
+
+ /**
+ * The index value within the scaler data array.
+ */
+ private int index;
+
+ /**
+ * Create a scaler data index.
+ *
+ * @param index the index within the data array
+ */
+ ScalerDataIndex(final int index) {
+ this.index = index;
+ }
+
+ /**
+ * Get the index value.
+ *
+ * @return the index value
+ */
+ public int index() {
+ return this.index;
+ }
+}
|