Commit in java/branches/ecal-recon_HPSJAVA-93/src/main/java/org/hps/recon/ecal on MAIN
EcalTriggerFilterDriver.java+61-6607 -> 608
EcalTriggerFilterDriver uses the new conditions, not tested

java/branches/ecal-recon_HPSJAVA-93/src/main/java/org/hps/recon/ecal
EcalTriggerFilterDriver.java 607 -> 608
--- java/branches/ecal-recon_HPSJAVA-93/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java	2014-05-20 14:45:00 UTC (rev 607)
+++ java/branches/ecal-recon_HPSJAVA-93/src/main/java/org/hps/recon/ecal/EcalTriggerFilterDriver.java	2014-05-20 14:46:59 UTC (rev 608)
@@ -5,7 +5,19 @@
 import java.util.Queue;
 import java.util.concurrent.ArrayBlockingQueue;
 
-import org.hps.conditions.deprecated.EcalConditions;
+import org.hps.conditions.ConditionsDriver;
+import org.hps.conditions.TableConstants;
+import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
+import org.hps.conditions.ecal.EcalChannel.GeometryId;
+import org.hps.conditions.ecal.EcalChannelConstants;
+import org.hps.conditions.ecal.EcalConditions;
+import org.hps.conditions.ecal.EcalConditionsUtil;
+import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.detector.identifier.IIdentifier;
+import org.lcsim.detector.identifier.IIdentifierHelper;
+import org.lcsim.detector.identifier.Identifier;
+import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
+import org.lcsim.detector.identifier.IIdentifierHelper;
 import org.lcsim.event.CalorimeterHit;
 import org.lcsim.event.EventHeader;
 import org.lcsim.geometry.Detector;
@@ -18,6 +30,11 @@
  */
 public class EcalTriggerFilterDriver extends Driver {
 
+	// To import database conditions
+    static EcalConditions ecalConditions = null;
+    static IIdentifierHelper helper = null;
+    static EcalChannelCollection channels = null;
+    
     private String ecalReadoutName = "EcalHits";
     private String inputCollection = "EcalReadoutHits";
     private String outputCollection = "EcalCalHits";
@@ -55,6 +72,17 @@
 
     @Override
     public void detectorChanged(Detector detector) {
+        // ECAL combined conditions object.
+        ecalConditions = ConditionsManager.defaultInstance()
+                .getCachedConditions(EcalConditions.class, TableConstants.ECAL_CONDITIONS).getCachedData();
+        
+        // List of channels.
+        channels = ecalConditions.getChannelCollection();
+        
+        // ID helper.
+        helper = detector.getSubdetector("Ecal").getDetectorElement().getIdentifierHelper();
+        
+        System.out.println("You are now using the database conditions for EcalTriggerFilterDriver.");
     }
 
     @Override
@@ -88,10 +116,8 @@
     private CalorimeterHit filterHit(CalorimeterHit hit) {
         int ix = hit.getIdentifierFieldValue("ix");
         int iy = hit.getIdentifierFieldValue("iy");
-        long daqID = EcalConditions.physicalToDaqID(hit.getCellID());
-        int crate = EcalConditions.getCrate(daqID);
-        short slot = EcalConditions.getSlot(daqID);
-        short channel = EcalConditions.getChannel(daqID);
+        int crate = getCrate(hit.getCellID());
+        int slot = getSlot(hit.getCellID());
 
         int delay = iy>0?topDelay:bottomDelay;
         // no triggers from crate 1, slot 3 
@@ -103,8 +129,37 @@
         if (ix > 0 && iy > 0) {
             ix = 24 - ix;
         }
-        long newID = EcalConditions.makePhysicalID(ix, iy);
+       // long newID = EcalConditions.makePhysicalID(ix, iy);
+        long newID = hit.getCellID(); //TODO
+        
         //make new hit; set position to null so it gets recalculated
         return new HPSCalorimeterHit(hit.getRawEnergy(), hit.getTime()+delay*4, newID, hit.getType());
     }
+    
+    /**
+     * Return crate number from cellID
+     * @param cellID (long)
+     * @return Crate number (int)
+     */
+    private int getCrate(long cellID) {
+        
+        EcalConditionsUtil util = new EcalConditionsUtil();
+
+        // Find the ECAL channel and return the crate number.
+        return util.getCrate(helper, cellID);
+    }
+    
+    /**
+     * Return slot number from cellID
+     * @param cellID (long)
+     * @return Slot number (int)
+     */
+    private int getSlot(long cellID) {
+        EcalConditionsUtil util = new EcalConditionsUtil();
+
+        // Find the ECAL channel and return the crate number.
+        return util.getSlot(helper, cellID);         
+    } 
+    
 }
+
SVNspam 0.1