19 using namespace DD4hep;
20 using namespace DD4hep::Conditions;
27 : m_manager(mgr), m_pool(pool), m_dependencies(dependencies), m_userParam(user_param)
77 catch(
const std::exception&
e) {
79 "+++ Exception while creating dependent Condition %s:",
85 "+++ UNKNOWN exception while creating dependent Condition %s.",
89 except(
"ConditionDependency",
90 "++ Exception while creating dependent Condition %s.",
Collection of condition dependencies.
virtual bool remove(key_type hash_key)=0
Remove condition by key from pool.
~ConditionsDependencyHandler()
Default destructor.
virtual bool insert(Condition cond)=0
Register a new condition to this pool.
Interface for conditions pool optimized to host conditions updates.
bool isValid() const
Check the validity of the object held by the handle.
const IOV & validity() const
Access the interval of validity for this user pool.
The data class behind a conditions handle.
iterator end()
Mini-container interface: end of iteration.
virtual void print(const std::string &opt) const =0
Print pool content.
Main condition object handle.
virtual Condition get(key_type key) const =0
Check if a condition exists in the pool and return it to the caller.
Dependencies::const_iterator const_iterator
int except(const std::string &src, const std::string &fmt,...)
Calls the display action with ERROR and throws an std::runtime_error exception.
T * ptr() const
Access to the held object.
Condition dependency definition.
Condition::Object * do_callback(const ConditionDependency &dep) const
Internal call to trigger update callback.
UserPool & m_pool
Reference to the user pool object.
Class describing the interval of validty.
ConditionUpdateCall * callback
Reference to the update callback. No auto pointer. callback may be shared.
void * m_userParam
User defined optional processing parameter.
const Dependencies & m_dependencies
Dependency container to be resolved.
std::string name
The object name.
const IOV * validityPtr() const
Access the interval of validity for this user pool.
ConditionUpdateContext class used by the derived conditions calculation mechanism.
Conditions internal namespace declaration.
static bool key_is_contained(const Key &key, const Key &test)
Check if IOV 'test' is fully contained in IOV 'key'.
virtual Condition get(const ConditionKey &key) const
ConditionResolver implementation: Interface to access conditions.
std::string name
String representation of the key object.
static key_type hashCode(const char *value)
Hash code generation from input string.
const iov_type * iov
Interval of validity.
ConditionsDependencyHandler(ConditionsManager::Object *mgr, UserPool &pool, const Dependencies &dependencies, void *user_param)
Initializing constructor.
ConditionKey target
Key to the condition to be updated.
int printout(PrintLevel severity, const char *src, const char *fmt,...)
Calls the display action with a given severity level.
iterator find(Condition::key_type key)
Mini-container interface: find element by key.
Condition::Object * operator()(const ConditionDependency *dep) const
Handler callback to process multiple derived conditions.
key_type hash
Hash value of the name.