![]() |
|
|
Generated: 18 Jul 2008 |
#include <GaudiKernel/IUpdateManagerSvc.h>
Inheritance diagram for IUpdateManagerSvc:


Users should only use this interface.
Definition at line 177 of file IUpdateManagerSvc.h.
Public Member Functions | |
| virtual IDataProviderSvc * | dataProvider () const=0 |
| Give access to the data provider. | |
| virtual IDetDataSvc * | detDataSvc () const=0 |
| Give access to the detector data service interface (usualy of the data provider itself). | |
| template<class CallerClass> | |
| void | registerCondition (CallerClass *instance, const std::string &condition="", typename ObjectMemberFunction< CallerClass >::MemberFunctionType mf=NULL) |
| Register an object (algorithm instance) to the service. | |
| template<class CallerClass, class CondType> | |
| void | registerCondition (CallerClass *instance, const std::string &condition, typename ObjectMemberFunction< CallerClass >::MemberFunctionType mf, CondType *&condPtrDest) |
| template<class CallerClass> | |
| void | registerCondition (CallerClass *instance, const char *condition, typename ObjectMemberFunction< CallerClass >::MemberFunctionType mf=NULL) |
| See above. Needed to avoid conflicts with the next one. | |
| template<class CallerClass, class ObjectClass> | |
| void | registerCondition (CallerClass *instance, ObjectClass *obj, typename ObjectMemberFunction< CallerClass >::MemberFunctionType mf=NULL) |
| Like the first version of registerCondition, but instead declaring the dependency on a condition of the service privider, it uses an already registered object. | |
| template<class CallerClass> | |
| void | unregister (CallerClass *instance) |
| Generic objects can be unregistered from the UpdateManagerSvc. | |
| template<class CallerClass> | |
| void | invalidate (CallerClass *instance) |
| Invalidate the given object in the dependency network. | |
| virtual bool | getValidity (const std::string path, Gaudi::Time &since, Gaudi::Time &until, bool path_to_db=false)=0 |
| Retrieve the interval of validity (in the UpdateManagerSvc) of the given item. | |
| virtual void | setValidity (const std::string path, const Gaudi::Time &since, const Gaudi::Time &until, bool path_to_db=false)=0 |
| Change the interval of validity of the given item to the specified values, updating parents if needed. | |
| virtual StatusCode | newEvent ()=0 |
| Start an update loop using the event time given by the detector data service. | |
| virtual StatusCode | newEvent (const Gaudi::Time &)=0 |
| Start an update loop using the give event time. | |
| template<class CallerClass> | |
| StatusCode | update (CallerClass *instance) |
| Update the given instance. | |
| virtual void | dump ()=0 |
| Debug method: it dumps the dependency network through the message service (not very readable, for experts only). | |
| virtual void | acquireLock ()=0 |
| Force the update manager service to wait before entering the newEvent loop. | |
| virtual void | releaseLock ()=0 |
| Let the update manager service enter the newEvent loop. | |
| virtual void | purge ()=0 |
| Remove all the items referring to objects present in the transient store. | |
Static Public Member Functions | |
| static const InterfaceID & | interfaceID () |
| Return the interface ID. | |
Protected Member Functions | |
| virtual void | i_registerCondition (const std::string &condition, BaseObjectMemberFunction *mf, BasePtrSetter *ptr_dest=NULL)=0 |
| virtual void | i_registerCondition (void *obj, BaseObjectMemberFunction *mf)=0 |
| virtual StatusCode | i_update (void *instance)=0 |
| virtual void | i_unregister (void *instance)=0 |
| virtual void | i_invalidate (void *instance)=0 |
Friends | |
| class | PythonHelper |
Classes | |
| class | PythonHelper |
| Helper class implemented in the python dictionary to allow access from python to template member functions. More... | |
| static const InterfaceID& IUpdateManagerSvc::interfaceID | ( | ) | [inline, static] |
Return the interface ID.
Reimplemented from IInterface.
Definition at line 181 of file IUpdateManagerSvc.h.
References IID_IUpdateManagerSvc.
00181 { return IID_IUpdateManagerSvc; }
| virtual IDataProviderSvc* IUpdateManagerSvc::dataProvider | ( | ) | const [pure virtual] |
Give access to the data provider.
| virtual IDetDataSvc* IUpdateManagerSvc::detDataSvc | ( | ) | const [pure virtual] |
Give access to the detector data service interface (usualy of the data provider itself).
| void IUpdateManagerSvc::registerCondition | ( | CallerClass * | instance, | |
| const std::string & | condition = "", |
|||
| typename ObjectMemberFunction< CallerClass >::MemberFunctionType | mf = NULL | |||
| ) | [inline] |
Register an object (algorithm instance) to the service.
The object should provide a method to be called in case of an update of the needed condition. An object can register multiple conditions using the same method: it will be called if at least one of the specified conditions is updated, but only when all of them are up to date.
Definition at line 196 of file IUpdateManagerSvc.h.
References i_registerCondition().
Referenced by GaudiCommon< AlgTool >::registerCondition().
00197 { 00198 i_registerCondition(condition, new ObjectMemberFunction<CallerClass>(instance,mf)); 00199 }
| void IUpdateManagerSvc::registerCondition | ( | CallerClass * | instance, | |
| const std::string & | condition, | |||
| typename ObjectMemberFunction< CallerClass >::MemberFunctionType | mf, | |||
| CondType *& | condPtrDest | |||
| ) | [inline] |
Definition at line 202 of file IUpdateManagerSvc.h.
References i_registerCondition().
00204 { 00205 i_registerCondition(condition, new ObjectMemberFunction<CallerClass>(instance,mf), 00206 new PtrSetter<CondType>(condPtrDest)); 00207 }
| void IUpdateManagerSvc::registerCondition | ( | CallerClass * | instance, | |
| const char * | condition, | |||
| typename ObjectMemberFunction< CallerClass >::MemberFunctionType | mf = NULL | |||
| ) | [inline] |
See above. Needed to avoid conflicts with the next one.
Definition at line 211 of file IUpdateManagerSvc.h.
References i_registerCondition().
00212 { 00213 i_registerCondition(std::string(condition), new ObjectMemberFunction<CallerClass>(instance,mf)); 00214 }
| void IUpdateManagerSvc::registerCondition | ( | CallerClass * | instance, | |
| ObjectClass * | obj, | |||
| typename ObjectMemberFunction< CallerClass >::MemberFunctionType | mf = NULL | |||
| ) | [inline] |
Like the first version of registerCondition, but instead declaring the dependency on a condition of the service privider, it uses an already registered object.
It means that a generic object can depend on another generic object that depends on a ValidDataObject. The dependency network is kept consistent by the UpdateManagerSvc.
Definition at line 220 of file IUpdateManagerSvc.h.
References i_registerCondition().
00221 { 00222 i_registerCondition(dynamic_cast<void*>(obj), new ObjectMemberFunction<CallerClass>(instance,mf)); 00223 }
| void IUpdateManagerSvc::unregister | ( | CallerClass * | instance | ) | [inline] |
Generic objects can be unregistered from the UpdateManagerSvc.
The dependency network is always consistent, but internal IOVs are not modified.
Definition at line 229 of file IUpdateManagerSvc.h.
References i_unregister().
00229 { 00230 i_unregister(dynamic_cast<void*>(instance)); 00231 }
| void IUpdateManagerSvc::invalidate | ( | CallerClass * | instance | ) | [inline] |
Invalidate the given object in the dependency network.
It means that all the objects depending on that one will be updated before the next event.
Definition at line 236 of file IUpdateManagerSvc.h.
References i_invalidate().
00236 {i_invalidate(dynamic_cast<void*>(instance));}
| virtual bool IUpdateManagerSvc::getValidity | ( | const std::string | path, | |
| Gaudi::Time & | since, | |||
| Gaudi::Time & | until, | |||
| bool | path_to_db = false | |||
| ) | [pure virtual] |
Retrieve the interval of validity (in the UpdateManagerSvc) of the given item.
| virtual void IUpdateManagerSvc::setValidity | ( | const std::string | path, | |
| const Gaudi::Time & | since, | |||
| const Gaudi::Time & | until, | |||
| bool | path_to_db = false | |||
| ) | [pure virtual] |
Change the interval of validity of the given item to the specified values, updating parents if needed.
The change can only restrict the current IOV, If you want to expand the validity you should act on the transient data store and the change will be reflected at the next update.
| virtual StatusCode IUpdateManagerSvc::newEvent | ( | ) | [pure virtual] |
Start an update loop using the event time given by the detector data service.
| virtual StatusCode IUpdateManagerSvc::newEvent | ( | const Gaudi::Time & | ) | [pure virtual] |
Start an update loop using the give event time.
NOTE: the given event time is only used to check if updates are needed, the real update is done using the detector data service event time. (may change in future)
| StatusCode IUpdateManagerSvc::update | ( | CallerClass * | instance | ) | [inline] |
Update the given instance.
This method should be called by the object after registration to ensure that the needed operations is done immediately and not before the next event.
Definition at line 259 of file IUpdateManagerSvc.h.
References i_update().
Referenced by GaudiCommon< AlgTool >::runUpdate().
00259 { 00260 return i_update(dynamic_cast<void*>(instance)); 00261 }
| virtual void IUpdateManagerSvc::dump | ( | ) | [pure virtual] |
Debug method: it dumps the dependency network through the message service (not very readable, for experts only).
| virtual void IUpdateManagerSvc::acquireLock | ( | ) | [pure virtual] |
Force the update manager service to wait before entering the newEvent loop.
| virtual void IUpdateManagerSvc::releaseLock | ( | ) | [pure virtual] |
Let the update manager service enter the newEvent loop.
| virtual void IUpdateManagerSvc::purge | ( | ) | [pure virtual] |
Remove all the items referring to objects present in the transient store.
This is needed when the Detector Transient Store is purged, otherwise we will keep pointers to not existing objects.
| virtual void IUpdateManagerSvc::i_registerCondition | ( | const std::string & | condition, | |
| BaseObjectMemberFunction * | mf, | |||
| BasePtrSetter * | ptr_dest = NULL | |||
| ) | [protected, pure virtual] |
Referenced by registerCondition().
| virtual void IUpdateManagerSvc::i_registerCondition | ( | void * | obj, | |
| BaseObjectMemberFunction * | mf | |||
| ) | [protected, pure virtual] |
| virtual StatusCode IUpdateManagerSvc::i_update | ( | void * | instance | ) | [protected, pure virtual] |
Referenced by update().
| virtual void IUpdateManagerSvc::i_unregister | ( | void * | instance | ) | [protected, pure virtual] |
Referenced by unregister().
| virtual void IUpdateManagerSvc::i_invalidate | ( | void * | instance | ) | [protected, pure virtual] |
Referenced by invalidate().
friend class PythonHelper [friend] |
Definition at line 292 of file IUpdateManagerSvc.h.