java/trunk/hps-java/src/main/java/org/lcsim/hps/readout/ecal
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/readout/ecal/FADCEcalReadoutDriver.java 2014-02-13 01:23:37 UTC (rev 219)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/readout/ecal/FADCEcalReadoutDriver.java 2014-02-13 02:22:15 UTC (rev 220)
@@ -197,6 +197,23 @@
}
}
+
+ /**
+ * Return the map of preamp signal buffers. For debug only.
+ * @return
+ */
+ public Map<Long, RingBuffer> getSignalMap() {
+ return signalMap;
+ }
+
+ /**
+ * Return the map of FADC pipelines. For debug only.
+ * @return
+ */
+ public Map<Long, FADCPipeline> getPipelineMap() {
+ return pipelineMap;
+ }
+
@Override
protected void readHits(List<RawCalorimeterHit> hits) {
@@ -495,7 +512,7 @@
return Math.exp(-t * t / (2 * sig * sig));
}
- private class FADCPipeline {
+ public class FADCPipeline {
private int[] array;
private int size;
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/apv25
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/apv25/HPSAPV25.java 2014-02-13 01:23:37 UTC (rev 219)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/apv25/HPSAPV25.java 2014-02-13 02:22:15 UTC (rev 220)
@@ -330,7 +330,7 @@
@Override
public void addToCell(int position, double element) {
- if (position + _trigger_latency > size) {
+ if (position + _trigger_latency > array.length) {
return;
}
super.addToCell(position + _trigger_latency, element);
@@ -338,7 +338,7 @@
public void printAnalogPipeline() {
System.out.print("[ ");
- for (int index = 0; index < size; index++) {
+ for (int index = 0; index < array.length; index++) {
if (index == ptr) {
System.out.print("TP====>");
}
java/trunk/hps-java/src/main/java/org/lcsim/hps/util
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/util/RingBuffer.java 2014-02-13 01:23:37 UTC (rev 219)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/util/RingBuffer.java 2014-02-13 02:22:15 UTC (rev 220)
@@ -1,7 +1,7 @@
package org.lcsim.hps.util;
/**
- * Ring buffer for storing ECal (and possibly SVT) samples for trigger and readout
+ * Ring buffer for storing ECal and SVT signals for trigger and readout
*
* @author Sho Uemura <[log in to unmask]>
* @version $Id: RingBuffer.java,v 1.5 2012/04/10 01:00:13 meeg Exp $
@@ -9,11 +9,9 @@
public class RingBuffer {
protected double[] array;
- protected int size;
protected int ptr;
public RingBuffer(int size) {
- this.size = size;
array = new double[size]; //initialized to 0
ptr = 0;
}
@@ -28,7 +26,7 @@
//return content of specified cell (pos=0 for current cell)
public double getValue(int pos) {
- return array[((ptr + pos) % size + size) % size];
+ return array[((ptr + pos) % array.length + array.length) % array.length];
}
/**
@@ -37,7 +35,7 @@
public void step() {
array[ptr] = 0;
ptr++;
- if (ptr == size) {
+ if (ptr == array.length) {
ptr = 0;
}
}
@@ -48,6 +46,10 @@
* @param val
*/
public void addToCell(int pos, double val) {
- array[(ptr + pos) % size] += val;
+ array[(ptr + pos) % array.length] += val;
}
+
+ public int getLength() {
+ return array.length;
+ }
}