2 added + 5 modified, total 7 files
java/sandbox/ecal-readout-sim/src/main/java/org/hps/readout/ecal
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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