Print

Print


Author: [log in to unmask]
Date: Mon Mar  2 09:37:57 2015
New Revision: 2221

Log:
Added methods to get singles and pair triggers specifically, rather than returning them all as a single collection. This removes the need to repeatedly check for the object type and cast when dealing with only one type of trigger.

Modified:
    java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/triggerbank/SSPData.java

Modified: java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/triggerbank/SSPData.java
 =============================================================================
--- java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/triggerbank/SSPData.java	(original)
+++ java/trunk/ecal-readout-sim/src/main/java/org/hps/readout/ecal/triggerbank/SSPData.java	Mon Mar  2 09:37:57 2015
@@ -37,6 +37,8 @@
     // Collections for storing the decoded SSP bank data.
     private final List<SSPCluster> clusterList = new ArrayList<SSPCluster>();
     private final List<SSPTrigger> triggerList = new ArrayList<SSPTrigger>();
+    private final List<SSPPairTrigger> pairList = new ArrayList<SSPPairTrigger>();
+    private final List<SSPSinglesTrigger> singlesList = new ArrayList<SSPSinglesTrigger>();
     
     // Other SSP bank information.
     private int eventNumber = 0;
@@ -96,6 +98,8 @@
                 
                 // Create an SSPTrigger and add it to the list.
                 SSPTrigger trigger = SSPTriggerFactory.makeTrigger(type, time * 4, data);
+                if(trigger instanceof SSPSinglesTrigger) { singlesList.add((SSPSinglesTrigger) trigger); }
+                else if(trigger instanceof SSPPairTrigger) { pairList.add((SSPPairTrigger) trigger); }
                 triggerList.add(trigger);
             }
             
@@ -164,11 +168,30 @@
     }
     
     /**
+     * Gets the list of pair triggers reported by the SSP.
+     * @return Returns the triggers as a <code>List</code> collection
+     * of <code>SSPPairTrigger</code> objects.
+     */
+    public List<SSPPairTrigger> getPairTriggers() {
+    	return pairList;
+    }
+    
+    /**
+     * Gets the list of singles triggers reported by the SSP.
+     * @return Returns the triggers as a <code>List</code> collection
+     * of <code>SSPSinglesTrigger</code> objects.
+     */
+    public List<SSPSinglesTrigger> getSinglesTriggers() {
+    	return singlesList;
+    }
+    
+    /**
      * Gets the list of triggers reported by the SSP.
      * @return Returns the triggers as a <code>List</code> collection
      * of <code>SSPTrigger</code> objects. These can vary in which
      * subclass they are, as appropriate to their type code.
      */
+    @Deprecated
     public List<SSPTrigger> getTriggers() {
         return triggerList;
     }