13 #ifndef DDCOND_CONDITIONSMANAGER_H
14 #define DDCOND_CONDITIONSMANAGER_H
27 namespace Conditions {
33 class ConditionsIOVPool;
34 class ConditionDependency;
35 class ConditionsDataLoader;
36 class ConditionUpdateContext;
37 class ConditionsManagerObject;
119 std::pair<bool, const IOVType*>
registerIOVType(
size_t iov_type,
const std::string& iov_name);
143 bool verify_dependencies=
true);
152 bool verify_dependencies=
true);
The property class to assign options to actions.
~ConditionsManager()=default
Default destructor.
Collection of condition dependencies.
ConditionsManager(const Handle< Q > &e)
Constructor to be used assigning from different type.
std::vector< IOVType > IOVTypes
ConditionDependency Dependency
ConditionsManager(const ConditionsManager &c)
Constructor to assing handle of the same type.
ConditionsPool * registerIOV(const IOVType &typ, IOV::Key key)
Register IOV with type and key.
void fromString(const std::string &iov_str, IOV &iov)
Create IOV from string.
Main condition object handle.
Out version of the std auto_ptr implementation base either on auto_ptr or unique_ptr.
ConditionsManager & initialize()
Initialize the object after having set the properties.
ConditionsDependencyCollection Dependencies
ConditionsManagerObject Object
Standard object type.
Condition dependency definition.
std::pair< bool, const IOVType * > registerIOVType(size_t iov_type, const std::string &iov_name)
Register new IOV type if it does not (yet) exist.
void clean(const IOVType *typ, int max_age)
Clean conditions, which are above the age limit.
Class describing the interval of validty.
Manager class for condition handles.
Interface for a generic conditions loader.
const IOVType * iovType(const std::string &iov_name) const
Access IOV by its name.
ConditionsManager & operator=(const ConditionsManager &c)=default
Assignment operator.
Class describing the interval of validty type.
Conditions internal namespace declaration.
Handle< Loader > loader() const
Access the conditions loader.
Class implementing the conditions collection for a given IOV type.
ConditionsManager(Object *p)
Constructor to be used with valid pointer to object.
std::set< ConditionKey > ConditionKeys
ConditionsManager()=default
Default constructor.
static ConditionsManager from(T &host)
Static accessor if installed as an extension.
ConditionsDataLoader Loader
Pool of conditions satisfying one IOV type (epoch, run, fill, etc)
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
PropertyManager & properties() const
Access to the property manager.
ConditionsIOVPool * iovPool(const IOVType &type) const
Access conditions multi IOV pool by iov type.
Property & operator[](const std::string &property_name) const
Access to properties.
long prepare(const IOV &required_validity, const ConditionKeys &keys, dd4hep_ptr< UserPool > &user_pool)
Prepare all updates for the given keys to the clients with the defined IOV.
const std::vector< const IOVType * > iovTypesUsed() const
Access the used/registered IOV types.
std::pair< Key_first_type, Key_second_type > Key
bool registerUnlocked(ConditionsPool *pool, Condition cond)
Register new condition with the conditions store. Unlocked version, not multi-threaded.
std::map< IOVType *, Container > TypeConditions
Manager to ease the handling of groups of properties.
std::map< DetElement, Container > DetectorConditions
void clear()
Full cleanup of all managed conditions.