|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
13 #ifndef DDCOND_CONDITIONSDEPENDENCYHANDLER_H
14 #define DDCOND_CONDITIONSDEPENDENCYHANDLER_H
31 class ConditionsManagerObject;
86 typedef std::map<Condition::key_type, const ConditionDependency*>
Dependencies;
143 {
return get(
key.hash,
nullptr,
true); }
146 {
return get(
key.hash,
nullptr, throw_if_not); }
149 {
return get(
key,
nullptr,
true); }
155 bool throw_if_not)
override;
165 virtual size_t registerMany(
const IOV& iov,
const std::vector<Condition>& values)
override;
171 #endif // DDCOND_CONDITIONSDEPENDENCYHANDLER_H
~ConditionsDependencyHandler()
Default destructor.
ConditionResolver class used by the derived conditions calculation mechanism.
virtual Detector & detectorDescription() const override
Access to the detector description instance.
ConditionsManagerObject * m_manager
Reference to conditions manager.
AlignmentCondition::Object * cond
State
Obect state definitions.
ConditionsDependencyHandler(ConditionsManager mgr, UserPool &pool, const Dependencies &dependencies, ConditionUpdateUserContext *user_param)
Initializing constructor.
std::map< Condition::key_type, Work * > WorkConditions
virtual ConditionsMap & conditionsMap() const override
Accessor for the current conditons mapping.
Key definition to optimize ans simplyfy the access to conditions entities.
Work()=delete
Inhibit default constructor.
ConditionUpdateUserContext class used by the derived conditions calculation mechanism.
const IOV & validity() const
Access the interval of validity for this user pool.
Class describing the interval of validty type.
Condition::Object * condition
The final result: the condition object.
ConditionUpdateUserContext * m_userParam
User defined optional processing parameter.
unsigned int detkey_type
High part of the key identifies the detector element.
Basic conditions manager implementation.
void do_intersection(const IOV *iov)
Helper to determine the IOV intersection taking into account dependencies.
Main condition object handle.
Condition dependency definition.
Class describing the interval of validty.
virtual Ref_t manager() const override
Access to the conditions manager.
Handle class describing a detector element.
UserPool & m_pool
Reference to the user pool object.
size_t num_callback
Number of callbacks to the handler for monitoring.
ConditionUpdateContext context
Auxiliary information to resolve condition callbacks.
void do_callback(Work *dep)
Internal call to trigger update callback.
void compute()
Access the conditions created during processing.
void resolve()
2nd pass: Handler callback for the second turn to resolve missing dependencies
virtual bool registerOne(const IOV &iov, Condition cond) override
Interface to handle multi-condition inserts by callbacks: One single insert.
virtual std::vector< Condition > getByItem(Condition::itemkey_type key) override
Interface to access conditions by hash value of the item (only valid at resolve!)
Work & operator=(const Work &)=default
Assignment operator.
unsigned int itemkey_type
Low part of the key identifies the item identifier.
Work(ConditionResolver *r, const ConditionDependency *d, ConditionUpdateUserContext *u, const IOV &i)
Initializing constructor.
State m_state
Handler's state.
virtual size_t registerMany(const IOV &iov, const std::vector< Condition > &values) override
Handle multi-condition inserts by callbacks: block insertions of conditions with identical IOV.
unsigned long long int key_type
Forward definition of the key type.
The data class behind a conditions handle.
Helper structure to define the current update item.
Manager class for condition handles.
Interface for conditions pool optimized to host conditions updates.
virtual const IOV & requiredValidity() const override
Access to pool IOV.
virtual Condition get(Condition::key_type key) override
ConditionResolver implementation: Interface to access conditions.
const Dependencies & m_dependencies
Dependency container to be resolved.
State state
Current conversion state of the item.
Work * m_currentWork
Current item of the block.
const IOVType * m_iovType
Local cacheL pool's IOV type.
Namespace for the AIDA detector description toolkit.
Callback handler to update condition dependencies.
The main interface to the dd4hep detector description package.
int callstack
Flag to detect non resolvable circular dependencies.
Condition resolve(Work *¤t)
Helper function for the second level dependency resolution.
WorkConditions m_todo
The objects created during processing.
Work(const Work &)=default
Copy constructor.
virtual Condition get(const ConditionKey &key, bool throw_if_not) override
Interface to access conditions by conditions key.
Work * m_block
Current block work item.
ConditionUpdateContext class used by the derived conditions calculation mechanism.
std::map< Condition::key_type, const ConditionDependency * > Dependencies
virtual Condition get(const ConditionKey &key) override
ConditionResolver implementation: Interface to access conditions.