Author: [log in to unmask]
Date: Fri May 29 15:46:07 2015
New Revision: 3068
Log:
Add property for disabling database alignment constants. HPSJAVA-524
Modified:
java/trunk/detector-model/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java
Modified: java/trunk/detector-model/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java
=============================================================================
--- java/trunk/detector-model/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java (original)
+++ java/trunk/detector-model/src/main/java/org/lcsim/geometry/compact/converter/HPSTrackerBuilder.java Fri May 29 15:46:07 2015
@@ -29,16 +29,26 @@
/**
* Return <code>true</code> if database conditions are in usable state and there are alignment conditions to load
* for the current run.
+ * <p>
+ * Loading SVT alignment conditions must also not be disabled via a system property.
*
* @return <code>true</code> if database conditions are usable
*/
boolean checkConditionsSystem() {
- // Conditions system must be setup; manager must have the correct type; and alignment conditions must be present
- // for run.
- return ConditionsManager.isSetup()
- && ConditionsManager.defaultInstance() instanceof DatabaseConditionsManager
- && DatabaseConditionsManager.getInstance().getConditionsRecords().getConditionsKeys()
- .contains("svt_alignments");
+ return ConditionsManager.isSetup() && ConditionsManager.defaultInstance() instanceof DatabaseConditionsManager
+ && DatabaseConditionsManager.getInstance().getConditionsRecords().getConditionsKeys().contains("svt_alignments")
+ && !isSvtAlignmentConstantsDisabled();
+ }
+
+ /**
+ * Return <code>true</code> if the property <i>disableSvtAlignmentConstants</i> is set indicating
+ * that alignment constants should never be read from the database and should come only from the
+ * compact description.
+ *
+ * @return <code>true</code> if reading alignment constants from the database is disabled
+ */
+ boolean isSvtAlignmentConstantsDisabled() {
+ return System.getProperties().containsKey("disableSvtAlignmentConstants");
}
/**
@@ -50,7 +60,7 @@
public HPSTrackerBuilder(boolean debug, Element node) {
this.debug = debug;
this.node = node;
- // Is conditions system in a valid state for reading from the database?
+ // Is conditions system usable?
if (checkConditionsSystem()) {
LOGGER.info("alignment conditions will be read from database");
try {
@@ -59,8 +69,7 @@
throw new RuntimeException("Error reading alignment parameters from conditions database.", e);
}
} else {
- // The conditions system isn't initialized or there are no alignment conditions so fall back to
- // using constants from the detector XML file.
+ // The conditions system isn't usable or reading from the database is explicitly disabled.
LOGGER.info("mille parameters will be read from compact.xml file");
initAlignmentParameters();
}
|