|
DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Go to the documentation of this file.
13 #ifndef DDCOND_CONDITIONSMANAGER_H
14 #define DDCOND_CONDITIONSMANAGER_H
33 class ConditionsSlice;
34 class ConditionsCleanup;
35 class ConditionsIOVPool;
36 class ConditionsDataLoader;
37 class ConditionsManagerObject;
38 class ConditionUpdateUserContext;
142 std::pair<bool, const IOVType*>
registerIOVType(
size_t iov_type,
const std::string& iov_name)
const;
219 #endif // DDCOND_CONDITIONSMANAGER_H
const IOVType * iovType(const std::string &iov_name) const
Access IOV by its name.
ConditionsDataLoader & loader() const
Access the conditions loader.
ConditionsPool * registerIOV(const IOV &iov) const
Register IOV with type and key.
void adoptCleanup(ConditionsCleanup *cleaner) const
Adopt cleanup handler. If a handler is registered, it is invoked at every "prepare" step.
AlignmentCondition::Object * cond
The property class to assign options to actions.
void clear() const
Full cleanup of all managed conditions.
Detector & detectorDescription() const
Access the detector description.
Result & operator+=(const Result &result)
Add results.
Handle: a templated class like a shared pointer, which allows specialized access to tgeometry objects...
ConditionsManager & operator=(const ConditionsManager &c)=default
Assignment operator.
Property & operator[](const std::string &property_name) const
Access to properties.
std::pair< Key_value_type, Key_value_type > Key
~ConditionsManager()=default
Default destructor.
ConditionUpdateUserContext class used by the derived conditions calculation mechanism.
Class describing the interval of validty type.
const std::vector< const IOVType * > iovTypesUsed() const
Access the used/registered IOV types.
Basic conditions manager implementation.
ConditionsIOVPool * iovPool(const IOVType &type) const
Access conditions multi IOV pool by iov type.
Main condition object handle.
std::pair< bool, const IOVType * > registerIOVType(size_t iov_type, const std::string &iov_name) const
Register new IOV type if it does not (yet) exist.
static ConditionsManager from(T &host)
Static accessor if installed as an extension.
Class describing the interval of validty.
Result prepare(const IOV &required_validity, ConditionsSlice &slice, ConditionUpdateUserContext *ctxt=0) const
Prepare all updates to the clients with the defined IOV.
void pushUpdates() const
Push all pending updates to the conditions store.
Class implementing the conditions collection for a given IOV type.
bool registerUnlocked(ConditionsPool &pool, Condition cond) const
Register new condition with the conditions store. Unlocked version, not multi-threaded.
PropertyManager & properties() const
Access to the property manager.
Result load(const IOV &required_validity, ConditionsSlice &slice, ConditionUpdateUserContext *ctxt=0) const
Load all updates to the clients with the defined IOV (1rst step of prepare)
ConditionsManager(const ConditionsManager &c)=default
Constructor to assing handle of the same type.
ConditionsManagerObject Object
Standard object type.
std::vector< IOVType > IOVTypes
Result compute(const IOV &required_validity, ConditionsSlice &slice, ConditionUpdateUserContext *ctxt=0) const
Compute all derived conditions with the defined IOV (2nd step of prepare)
Manager class for condition handles.
Result(const Result &result)=default
Result of a prepare call to the conditions manager.
Interface for a generic conditions loader.
Base class to handle conditions cleanups.
Manager to ease the handling of groups of properties.
ConditionsManager & initialize()
Initialize the object after having set the properties.
void clean(const ConditionsCleanup &cleaner) const
Invoke cache cleanup with user defined policy.
Namespace for the AIDA detector description toolkit.
ConditionsManager()=default
Default constructor.
The main interface to the dd4hep detector description package.
Result & operator=(const Result &result)=default
std::unique_ptr< UserPool > createUserPool(const IOVType *iovT) const
Create empty user pool object.
size_t blockRegister(ConditionsPool &pool, const std::vector< Condition > &cond) const
Register a whole block of conditions with identical IOV.
void fromString(const std::string &iov_str, IOV &iov) const
Create IOV from string.
ConditionsManager(const Handle< Q > &e)
Constructor to be used assigning from different type.
ConditionsManager(Object *p)
Constructor to be used with valid pointer to object.
Pool of conditions satisfying one IOV type (epoch, run, fill, etc)
Result & operator-=(const Result &result)
Subtract results.
Conditions slice object. Defines which conditions should be loaded by the ConditionsManager.