Print

Print


Author: [log in to unmask]
Date: Mon Feb 23 17:17:54 2015
New Revision: 2178

Log:
Add support for ECAL calibration condition. HPSJAVA-429

Added:
    java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLedCalibration.java
Modified:
    java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java

Added: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLedCalibration.java
 =============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLedCalibration.java	(added)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalLedCalibration.java	Mon Feb 23 17:17:54 2015
@@ -0,0 +1,46 @@
+package org.hps.conditions.ecal;
+
+import org.hps.conditions.api.AbstractConditionsObject;
+import org.hps.conditions.api.AbstractConditionsObjectCollection;
+import org.hps.conditions.database.Converter;
+import org.hps.conditions.database.Field;
+import org.hps.conditions.database.MultipleCollectionsAction;
+import org.hps.conditions.database.Table;
+
+@Table(names = "ecal_led_calibrations")
+@Converter(multipleCollectionsAction = MultipleCollectionsAction.LAST_CREATED)
+public class EcalLedCalibration extends AbstractConditionsObject {
+    
+    /**
+     * Generic collection class for these objects.
+     */
+    public static class EcalLedCalibrationCollection extends AbstractConditionsObjectCollection<EcalLedCalibration> {
+    }
+    
+    /**
+     * Get the ECAL channel ID.
+     * @return The ECAL channel ID.
+     */
+    @Field(names = {"ecal_channel_id"})
+    public int getEcalChannelId() {
+        return getFieldValue("ecal_channel_id");
+    }
+
+    /**
+     * Get the crate number assigned to this crystal.
+     * @return The crate number.
+     */
+    @Field(names = {"led_response"})
+    public double getLedResponse() {
+        return getFieldValue("led_response");
+    }
+
+    /**
+     * Get the LED number assigned to this crystal.
+     * @return The LED number.
+     */
+    @Field(names = {"rms"})
+    public int getRms() {
+        return getFieldValue("rms");
+    }
+}

Modified: java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java
 =============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java	(original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalLedTest.java	Mon Feb 23 17:17:54 2015
@@ -6,6 +6,7 @@
 import org.hps.conditions.database.TableConstants;
 //import org.hps.conditions.config.DevReadOnlyConfiguration;
 import org.hps.conditions.ecal.EcalLed.EcalLedCollection;
+import org.hps.conditions.ecal.EcalLedCalibration.EcalLedCalibrationCollection;
 import org.lcsim.conditions.ConditionsManager.ConditionsNotFoundException;
 
 /**
@@ -15,12 +16,11 @@
  */
 public class EcalLedTest extends TestCase {
           
-
     DatabaseConditionsManager conditionsManager;
     public void setUp() {
         conditionsManager = DatabaseConditionsManager.getInstance();
         try {
-            conditionsManager.setDetector("HPS-Proposal2014-v7-2pt2", 2000);
+            conditionsManager.setDetector("HPS-ECalCommissioning-v2", 2000);
         } catch (ConditionsNotFoundException e) {
             throw new RuntimeException(e);
         }
@@ -28,9 +28,17 @@
 	
     public void testEcalLed() {
         DatabaseConditionsManager manager = DatabaseConditionsManager.getInstance();
-        EcalLedCollection collection = manager.getConditionsData(EcalLedCollection.class, TableConstants.ECAL_LEDS);
-        for (EcalLed led : collection) {    	
+        
+        // LED channel information.
+        EcalLedCollection leds = manager.getConditionsData(EcalLedCollection.class, TableConstants.ECAL_LEDS);
+        for (EcalLed led : leds) {    	
         	System.out.println(led);
+        }
+        
+        // LED calibration data.
+        EcalLedCalibrationCollection calibrations = manager.getCollection(EcalLedCalibrationCollection.class);
+        for (EcalLedCalibration calibration : calibrations) {        
+            System.out.println(calibration);
         }
     }
 }