Author: [log in to unmask]
Date: Thu Jan 1 23:16:30 2015
New Revision: 1824
Log:
Detector setup classes now implement ConditionsListener so they are less coupled to the ConditionsManager.
Removed:
java/trunk/conditions/src/main/java/org/hps/conditions/svt/TestRunSvtDetectorSetup.java
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java
java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java Thu Jan 1 23:16:30 2015
@@ -4,8 +4,11 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
import org.hps.conditions.ecal.EcalChannel.GeometryId;
+import org.lcsim.conditions.ConditionsEvent;
+import org.lcsim.conditions.ConditionsListener;
import org.lcsim.detector.converter.compact.EcalCrystal;
import org.lcsim.detector.identifier.IIdentifierHelper;
import org.lcsim.geometry.Subdetector;
@@ -16,13 +19,41 @@
* detector.
* @author Jeremy McCormick <[log in to unmask]>
*/
-public final class EcalDetectorSetup {
+public final class EcalDetectorSetup implements ConditionsListener {
- static Logger logger = LogUtil.create(EcalDetectorSetup.class);
+ private static Logger logger = LogUtil.create(EcalDetectorSetup.class);
+
+ private String ecalName = "Ecal";
+ private boolean enabled = true;
+
+ public EcalDetectorSetup(String ecalName) {
+ this.ecalName = ecalName;
+ }
public void setLogLevel(Level level) {
logger.setLevel(level);
logger.getHandlers()[0].setLevel(level);
+ }
+
+ public void setEcalName(String ecalName) {
+ this.ecalName = ecalName;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ @Override
+ public void conditionsChanged(ConditionsEvent event) {
+ if (enabled) {
+ logger.info("setting up ECAL detector conditions");
+ DatabaseConditionsManager manager = (DatabaseConditionsManager) event.getConditionsManager();
+ Subdetector subdetector = manager.getDetectorObject().getSubdetector(ecalName);
+ EcalConditions conditions = manager.getConditionsData(EcalConditions.class, "ecal_conditions");
+ load(subdetector, conditions);
+ } else {
+
+ }
}
/**
@@ -30,7 +61,7 @@
* @param detector The detector object.
* @param conditions The conditions object.
*/
- public void load(Subdetector subdetector, EcalConditions conditions) {
+ void load(Subdetector subdetector, EcalConditions conditions) {
logger.info("loading ECAL conditions onto subdetector " + subdetector.getName());
Modified: java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java
=============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java (original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/svt/TestRunSvtDetectorSetupTest.java Thu Jan 1 23:16:30 2015
@@ -5,8 +5,6 @@
import junit.framework.TestCase;
import org.hps.conditions.database.DatabaseConditionsManager;
-import org.hps.conditions.svt.TestRunSvtConditions;
-import org.hps.conditions.svt.TestRunSvtDetectorSetup;
import org.lcsim.detector.tracker.silicon.HpsTestRunSiSensor;
import org.lcsim.geometry.Detector;
@@ -46,13 +44,6 @@
// Get the detector.
Detector detector = conditionsManager.getCachedConditions(Detector.class, "compact.xml").getCachedData();
-
- // Get all test run SVT conditions.
- TestRunSvtConditions conditions = conditionsManager.getCachedConditions(TestRunSvtConditions.class, "svt_conditions").getCachedData();
-
- // Load the test run SVT conditions onto detector.
- TestRunSvtDetectorSetup loader = new TestRunSvtDetectorSetup();
- loader.load(detector.getSubdetector(SVT_SUBDETECTOR_NAME), conditions);
// Check sensor data.
List<HpsTestRunSiSensor> sensors = detector.getSubdetector(SVT_SUBDETECTOR_NAME).getDetectorElement().findDescendants(HpsTestRunSiSensor.class);
|