Author: [log in to unmask]
Date: Mon Feb 9 19:07:55 2015
New Revision: 2085
Log:
Remove EcalDetectorSetup and related changes. HPSJAVA-419
Removed:
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalDetectorSetup.java
java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_dev.xml
java/trunk/conditions/src/test/java/org/hps/conditions/ecal/EcalDetectorSetupTest.java
Modified:
java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java
java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java
java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_engrun.xml
java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_prod.xml
java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml
java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/database/DatabaseConditionsManager.java Mon Feb 9 19:07:55 2015
@@ -26,7 +26,6 @@
import org.hps.conditions.api.ConditionsRecord.ConditionsRecordCollection;
import org.hps.conditions.api.ConditionsSeries;
import org.hps.conditions.ecal.EcalConditionsConverter;
-import org.hps.conditions.ecal.EcalDetectorSetup;
import org.hps.conditions.ecal.TestRunEcalConditionsConverter;
import org.hps.conditions.svt.SvtConditionsConverter;
import org.hps.conditions.svt.SvtDetectorSetup;
@@ -96,7 +95,6 @@
protected String svtName = "Tracker";
protected ConditionsConverter svtConverter;
protected ConditionsConverter ecalConverter;
- protected EcalDetectorSetup ecalSetup = new EcalDetectorSetup(ecalName);
protected SvtDetectorSetup svtSetup = new SvtDetectorSetup(svtName);
// Active conditions tag.
@@ -109,7 +107,6 @@
// Configuration from XML settings. These are the defaults.
protected boolean setupSvtDetector = true;
- protected boolean setupEcalDetector = true;
protected boolean freezeAfterInitialize = false;
protected boolean closeConnectionAfterInitialize = true;
protected boolean cacheAllConditions = false;
@@ -135,7 +132,6 @@
//logger.config("registering converter for " + converter.getType());
registerConditionsConverter(converter);
}
- addConditionsListener(ecalSetup);
addConditionsListener(svtSetup);
}
@@ -335,7 +331,6 @@
registerConverters();
- ecalSetup.setEnabled(setupEcalDetector);
svtSetup.setEnabled(setupSvtDetector);
// Open the database connection.
@@ -577,7 +572,6 @@
logger.setLevel(level);
logger.getHandlers()[0].setLevel(level);
- ecalSetup.setLogLevel(level);
svtSetup.setLogLevel(level);
}
@@ -664,7 +658,6 @@
throw new IllegalArgumentException("The ecalName is null");
}
this.ecalName = ecalName;
- ecalSetup.setEcalName(ecalName);
}
/**
@@ -814,6 +807,10 @@
public TableMetaData findTableMetaData(Class<?> type) {
return tableRegistry.findByCollectionType(type);
}
+
+ public String getEcalName() {
+ return ecalName;
+ }
/*
*******************************
@@ -918,13 +915,7 @@
setupSvtDetector = Boolean.parseBoolean(element.getText());
logger.config("setupSvtDetector = " + setupSvtDetector);
}
-
- element = node.getChild("setupEcalDetector");
- if (element != null) {
- setupEcalDetector = Boolean.parseBoolean(element.getText());
- logger.config("setupEcalDetector = " + setupEcalDetector);
- }
-
+
element = node.getChild("ecalName");
if (element != null) {
setEcalName(element.getText());
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditions.java Mon Feb 9 19:07:55 2015
@@ -4,6 +4,7 @@
import java.util.Map;
import org.hps.conditions.ecal.EcalChannel.EcalChannelCollection;
+import org.lcsim.geometry.Subdetector;
/**
* This class provides access to all ECAL conditions from the database,
@@ -24,10 +25,16 @@
/** Map between channels and conditions data. */
Map<EcalChannel, EcalChannelConstants> channelData = new HashMap<EcalChannel, EcalChannelConstants>();
+ Subdetector subdetector;
+
/**
* Class constructor, which is package protected.
*/
- EcalConditions() {
+ EcalConditions(Subdetector subdetector) {
+ if (subdetector == null) {
+ throw new IllegalArgumentException("The subdetector argument is null.");
+ }
+ this.subdetector = subdetector;
}
/**
@@ -35,7 +42,14 @@
* @param channels The channel map.
*/
void setChannelCollection(EcalChannelCollection channelMap) {
+
this.channelMap = channelMap;
+
+ // Get the full channel map created by the conditions system.
+ channelMap = getChannelCollection();
+
+ // Build the map of geometry IDs.
+ channelMap.buildGeometryMap(subdetector.getDetectorElement().getIdentifierHelper(), subdetector.getSystemID());
}
/**
@@ -45,7 +59,7 @@
public EcalChannelCollection getChannelCollection() {
return channelMap;
}
-
+
/**
* Get the conditions constants for a specific channel. These will be
* created if they do not exist for the given channel, BUT only channels in
Modified: java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java
=============================================================================
--- java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java (original)
+++ java/trunk/conditions/src/main/java/org/hps/conditions/ecal/EcalConditionsConverter.java Mon Feb 9 19:07:55 2015
@@ -14,6 +14,7 @@
import org.hps.conditions.svt.AbstractSvtConditionsConverter;
import org.lcsim.conditions.ConditionsConverter;
import org.lcsim.conditions.ConditionsManager;
+import org.lcsim.geometry.Detector;
import org.lcsim.util.log.LogUtil;
/**
@@ -60,7 +61,8 @@
// Create the ECal conditions object that will be used to encapsulate
// ECal conditions collections
- EcalConditions conditions = new EcalConditions();
+ Detector detector = databaseConditionsManager.getDetectorObject();
+ EcalConditions conditions = new EcalConditions(detector.getSubdetector(databaseConditionsManager.getEcalName()));
// Set the channel map.
conditions.setChannelCollection(channels);
Modified: java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_engrun.xml
=============================================================================
--- java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_engrun.xml (original)
+++ java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_engrun.xml Mon Feb 9 19:07:55 2015
@@ -1,7 +1,6 @@
<conditions_database>
<configuration>
<setupSvtDetector>false</setupSvtDetector>
- <setupEcalDetector>true</setupEcalDetector>
<cacheAllConditions>false</cacheAllConditions>
<freezeAfterInitialize>false</freezeAfterInitialize>
</configuration>
Modified: java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_prod.xml
=============================================================================
--- java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_prod.xml (original)
+++ java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_prod.xml Mon Feb 9 19:07:55 2015
@@ -1,7 +1,6 @@
<conditions_database>
<configuration>
<setupSvtDetector>true</setupSvtDetector>
- <setupEcalDetector>true</setupEcalDetector>
<cacheAllConditions>false</cacheAllConditions>
<freezeAfterInitialize>false</freezeAfterInitialize>
</configuration>
Modified: java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml
=============================================================================
--- java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml (original)
+++ java/trunk/conditions/src/main/resources/org/hps/conditions/config/conditions_database_testrun_2012.xml Mon Feb 9 19:07:55 2015
@@ -2,7 +2,6 @@
<configuration>
<isTestRun>true</isTestRun>
<setupSvtDetector>true</setupSvtDetector>
- <setupEcalDetector>true</setupEcalDetector>
<cacheAllConditions>false</cacheAllConditions>
<freezeAfterInitialize>false</freezeAfterInitialize>
</configuration>
Modified: java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java
=============================================================================
--- java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java (original)
+++ java/trunk/conditions/src/test/java/org/hps/conditions/EngRunConditionsTest.java Mon Feb 9 19:07:55 2015
@@ -70,11 +70,14 @@
static class ConditionsCheckDriver extends Driver {
boolean detectorChangedCalled = false;
-
+
+ EcalConditions ecalConditions;
+
public void detectorChanged(Detector detector) {
+
assertEquals("Wrong run number.", runNumber, DatabaseConditionsManager.getInstance().getRun());
- DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
+ DatabaseConditionsManager conditionsManager = DatabaseConditionsManager.getInstance();
EcalChannelCollection channels = conditionsManager.getCollection(EcalChannelCollection.class);
assertEquals("Wrong number of channels.", nChannels, channels.size());
@@ -101,7 +104,7 @@
assertEquals("Wrong LEDs collection ID.", 2, timeShifts.getConditionsRecord().getCollectionId());
checkRunNumbers(timeShifts);
- EcalConditions ecalConditions = conditionsManager.getConditionsData(EcalConditions.class, "ecal_conditions");
+ ecalConditions = conditionsManager.getConditionsData(EcalConditions.class, "ecal_conditions");
Set<EcalChannelConstants> channelConstants = new LinkedHashSet<EcalChannelConstants>();
for (EcalChannel channel : ecalConditions.getChannelCollection().sortedByChannelId()) {
channelConstants.add(ecalConditions.getChannelConstants(channel));
@@ -120,12 +123,25 @@
assertEquals("Wrong run number.", runNumber, event.getRunNumber());
if (event.hasCollection(CalorimeterHit.class, "EcalCalHits")) {
List<CalorimeterHit> calHits = event.get(CalorimeterHit.class, "EcalCalHits");
- for (CalorimeterHit hit : calHits) {
+ for (CalorimeterHit hit : calHits) {
EcalCrystal crystal = (EcalCrystal) hit.getDetectorElement();
- assertEquals("Crystal and hit ID are different.", crystal.getIdentifier(), hit.getIdentifier());
- assertTrue("Crystal gain is invalid.", crystal.getGain() > 0.);
- assertTrue("Crystal pedestal is invalid.", crystal.getPedestal() > 0.);
- assertTrue("Crystal noise is invalid.", crystal.getNoise() > 0.);
+ if (crystal == null) {
+ throw new RuntimeException("EcalCrystal is null.");
+ }
+ if (crystal.getIdentifier() == null) {
+ throw new RuntimeException("EcalCrystal ID is null.");
+ }
+ if (hit.getIdentifier() == null) {
+ throw new RuntimeException("The hit ID is null.");
+ }
+ assertEquals("The crystal and hit ID are different.", crystal.getIdentifier(), hit.getIdentifier());
+
+ EcalChannel channel = ecalConditions.getChannelCollection().findGeometric(hit.getIdentifier().getValue());
+ EcalChannelConstants constants = ecalConditions.getChannelConstants(channel);
+
+ assertTrue("The crystal gain is invalid.", constants.getGain().getGain() > 0.);
+ assertTrue("The crystal pedestal is invalid.", constants.getCalibration().getPedestal() > 0.);
+ assertTrue("The crystal noise is invalid.", constants.getCalibration().getNoise() > 0.);
}
}
}
|