Commit in java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal on MAIN
ClockSingleton.java+47added 351
DummyTriggerDriver.java-1350 -> 351
FADCEcalReadoutDriver.java-2350 -> 351
FADCTriggerDriver.java-1350 -> 351
RingBuffer.java+55added 351
TimeEvolutionEcalReadoutDriver.java-2350 -> 351
TriggerableDriver.java-1350 -> 351
+102-7
2 added + 5 modified, total 7 files
Move classes from util to ecal-readout-sim module (sandbox copy).

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
ClockSingleton.java added at 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/ClockSingleton.java	                        (rev 0)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/ClockSingleton.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -0,0 +1,47 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.hps.readout.ecal;
+
+/**
+ * singleton clock class - use ClockDriver to control.
+ * A better solution might be to store absolute time in the event.
+ *
+ * @author Sho Uemura <[log in to unmask]>
+ * @version $Id: ClockSingleton.java,v 1.6 2012/07/31 00:08:40 meeg Exp $
+ */
+public class ClockSingleton {
+
+	public static final ClockSingleton _instance = new ClockSingleton();
+	private int clock;
+	//time between events (bunch spacing)
+	private double dt = 2.0;
+
+	private ClockSingleton() {
+	}
+
+	public static void init() {
+		_instance.clock = 0;
+	}
+
+	public static int getClock() {
+		return _instance.clock;
+	}
+
+	public static double getTime() {
+		return _instance.dt * _instance.clock;
+	}
+
+	public static double getDt() {
+		return _instance.dt;
+	}
+
+	public static void setDt(double dt) {
+		_instance.dt = dt;
+	}
+
+	public static void step() {
+		_instance.clock++;
+	}
+}

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
DummyTriggerDriver.java 350 -> 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/DummyTriggerDriver.java	2014-03-26 00:31:32 UTC (rev 350)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/DummyTriggerDriver.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -1,7 +1,6 @@
 package org.hps.readout.ecal;
 
 import org.lcsim.event.EventHeader;
-import org.lcsim.hps.util.ClockSingleton;
 
 /**
  * Free-running trigger - triggers on every Nth event

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
FADCEcalReadoutDriver.java 350 -> 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCEcalReadoutDriver.java	2014-03-26 00:31:32 UTC (rev 350)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCEcalReadoutDriver.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -27,9 +27,7 @@
 import org.lcsim.geometry.Detector;
 import org.lcsim.geometry.Subdetector;
 import org.lcsim.geometry.subdetector.HPSEcal3;
-import org.lcsim.hps.util.ClockSingleton;
 import org.lcsim.hps.util.RandomGaussian;
-import org.lcsim.hps.util.RingBuffer;
 import org.lcsim.lcio.LCIOConstants;
 
 /**

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
FADCTriggerDriver.java 350 -> 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java	2014-03-26 00:31:32 UTC (rev 350)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/FADCTriggerDriver.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -15,7 +15,6 @@
 import org.lcsim.event.Cluster;
 import org.lcsim.event.EventHeader;
 import org.lcsim.geometry.Detector;
-import org.lcsim.hps.util.ClockSingleton;
 import org.lcsim.util.aida.AIDA;
 
 /**

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
RingBuffer.java added at 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/RingBuffer.java	                        (rev 0)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/RingBuffer.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -0,0 +1,55 @@
+package org.hps.readout.ecal;
+
+/**
+ * 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 $
+ */
+public class RingBuffer {
+
+	protected double[] array;
+	protected int ptr;
+
+	public RingBuffer(int size) {
+		array = new double[size]; //initialized to 0
+		ptr = 0;
+	}
+
+	/**
+	 * 
+	 * @return value stored at current cell
+	 */
+	public double currentValue() {
+		return array[ptr];
+	}
+
+	//return content of specified cell (pos=0 for current cell)
+	public double getValue(int pos) {
+		return array[((ptr + pos) % array.length + array.length) % array.length];
+	}
+
+	/**
+	 * Clear value at current cell and step to the next one
+	 */
+	public void step() {
+		array[ptr] = 0;
+		ptr++;
+		if (ptr == array.length) {
+			ptr = 0;
+		}
+	}
+
+	/**
+	 * Add given value to specified cell
+	 * @param pos Target position relative to current cell (pos=0 for current cell)
+	 * @param val 
+	 */
+	public void addToCell(int pos, double val) {
+		array[(ptr + pos) % array.length] += val;
+	}
+
+    public int getLength() {
+        return array.length;
+    }
+}

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
TimeEvolutionEcalReadoutDriver.java 350 -> 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java	2014-03-26 00:31:32 UTC (rev 350)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TimeEvolutionEcalReadoutDriver.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -6,8 +6,6 @@
 
 import org.hps.recon.ecal.HPSCalorimeterHit;
 import org.lcsim.event.CalorimeterHit;
-import org.lcsim.hps.util.ClockSingleton;
-import org.lcsim.hps.util.RingBuffer;
 
 /**
  * Performs readout of ECal hits.

java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
TriggerableDriver.java 350 -> 351
--- java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TriggerableDriver.java	2014-03-26 00:31:32 UTC (rev 350)
+++ java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal/TriggerableDriver.java	2014-03-26 00:41:59 UTC (rev 351)
@@ -3,7 +3,6 @@
 import java.util.LinkedList;
 import java.util.Queue;
 import org.lcsim.event.EventHeader;
-import org.lcsim.hps.util.ClockSingleton;
 import org.lcsim.util.Driver;
 
 /**
SVNspam 0.1