/// Retrieve a condition given a Detector Element and the conditions name RangeConditions ConditionsManagerObject::getRange(Condition::key_type key, const Condition::iov_type& iov) { RC conditions; __check_values__<Range>(this, key, &iov); bool rc = select_range(key, iov, conditions); if ( rc ) { return conditions; } else { dd4hep_lock_t locked_load(m_updateLock); m_loader->load_range(key, iov, conditions); if ( conditions.empty() ) { except("ConditionsManager","+++ Conditions %08X for IOV %s do not exist.", key, iov.str().c_str()); } conditions.clear(); } rc = select_range(key, iov, conditions); if ( !rc ) { except("ConditionsManager","+++ Conditions %08X for IOV %s do not exist.", key, iov.str().c_str()); } return conditions; }