DD4hep - The AIDA detector description toolkit for high energy physics experiments
DD4hep  Rev:Unversioneddirectory
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ConditionsDependencyHandler.h
Go to the documentation of this file.
1 // $Id$
2 //==========================================================================
3 // AIDA Detector description implementation for LCD
4 //--------------------------------------------------------------------------
5 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
6 // All rights reserved.
7 //
8 // For the licensing terms see $DD4hepINSTALL/LICENSE.
9 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
10 //
11 // Author : M.Frank
12 //
13 //==========================================================================
14 #ifndef DDCOND_CONDITIONSDEPENDENCYHANDLER_H
15 #define DDCOND_CONDITIONSDEPENDENCYHANDLER_H
16 
17 // Framework include files
18 #include "DD4hep/Detector.h"
19 #include "DD4hep/Conditions.h"
22 
24 namespace DD4hep {
25 
27  namespace Conditions {
28 
29  // Forward declarations
30  class UserPool;
31 
33 
39  public:
41 
42  protected:
50  void* m_userParam;
51 
54 
55  public:
58  UserPool& pool,
59  const Dependencies& dependencies,
60  void* user_param);
64  virtual Ref_t manager() const
65  { return m_manager; }
67  virtual LCDD& lcdd() const
68  { return m_manager->lcdd(); }
69  virtual const IOV& requiredValidity() const
70  { return m_pool.validity(); }
72  virtual Condition get(const ConditionKey& key) const
73  { return get(key.hash); }
75  virtual Condition get(unsigned int key) const;
78  };
79 
80  } /* End namespace Conditions */
81 } /* End namespace DD4hep */
82 
83 #endif /* DDCOND_CONDITIONSDEPENDENCYHANDLER_H */
Interface for conditions pool optimized to host conditions updates.
const IOV & validity() const
Access the interval of validity for this user pool.
ConditionResolver class used by the derived conditions calculation mechanism.
The data class behind a conditions handle.
Main condition object handle.
Definition: Conditions.h:70
ConditionsManager::Object * m_manager
Reference to conditions manager.
Callback handler to update condition dependencies.
Condition dependency definition.
Condition::Object * do_callback(const ConditionDependency &dep) const
Internal call to trigger update callback.
Key definition to optimize ans simplyfy the access to conditions entities.
Definition: Conditions.h:273
UserPool & m_pool
Reference to the user pool object.
Class describing the interval of validty.
Definition: IOV.h:59
virtual Ref_t manager() const
ConditionResolver implementation: Access to the conditions manager.
LCDD & lcdd() const
Access to the detector description instance.
virtual const IOV & requiredValidity() const
Required IOV value for update cycle.
void * m_userParam
User defined optional processing parameter.
const Dependencies & m_dependencies
Dependency container to be resolved.
Conditions internal namespace declaration.
virtual LCDD & lcdd() const
ConditionResolver implementation: Access to the detector description instance.
ConditionsDependencyHandler(ConditionsManager::Object *mgr, UserPool &pool, const Dependencies &dependencies, void *user_param)
Initializing constructor.
Condition::Object * operator()(const ConditionDependency *dep) const
Handler callback to process multiple derived conditions.