Print

Print


Commit in hps-java/src/main/java/org/lcsim/hps/util on MAIN
HPSTrigger.java+17-41.1 -> 1.2
Added trigger window support

hps-java/src/main/java/org/lcsim/hps/util
HPSTrigger.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- HPSTrigger.java	11 Oct 2011 16:13:57 -0000	1.1
+++ HPSTrigger.java	14 Oct 2011 18:46:44 -0000	1.2
@@ -16,11 +16,12 @@
 
 /**
  * Receives the ECal trigger signal and applies a trigger latency before
- * sending the signal to other HPS detectors.
+ * sending the signal to other HPS detectors.  A trigger signal is only 
+ * accepted once within every trigger window.
  * Note: Currently, only the SVT is supported
  * 
  * @author Omar Moreno
- * @version $Id: HPSTrigger.java,v 1.1 2011/10/11 16:13:57 omoreno Exp $
+ * @version $Id: HPSTrigger.java,v 1.2 2011/10/14 18:46:44 omoreno Exp $
  */
 public class HPSTrigger extends Driver {
     
@@ -30,6 +31,10 @@
     // Once the trigger latency is set, it should not change
     public static final double triggerLatency = 80.0;  // ns
     
+     // Trigger decision window
+    public static final double triggerWindow = 16.0; // ns
+    public static boolean triggerWindowBit = false;
+    
     /**
      * Constructor
      */
@@ -41,7 +46,12 @@
      */
     public static void addTrigger( )
     {
-       trigger.add( ClockSingleton.getTime() + triggerLatency );
+
+        // Only accept a single trigger within a given trigger window
+        if( !triggerWindowBit ){
+            trigger.add( ClockSingleton.getTime() + triggerLatency );
+            triggerWindowBit = true;
+        }
     }
     
     /**
@@ -56,6 +66,10 @@
     {
         super.process(event);
         
+        // Only accept a single trigger for a given trigger window
+        if( ClockSingleton.getTime()%triggerWindow == 0 ) 
+            triggerWindowBit = false;
+        
         // Check if there are any pending triggers
         if(  !( trigger.isEmpty() ) ){
             if( ClockSingleton.getTime() == trigger.get( 0 ) ){
@@ -66,6 +80,5 @@
                 trigger.remove( 0 );
             }
         } 
-        
     }    
 }
CVSspam 0.2.8