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(); }