Download presentation
Presentation is loading. Please wait.
Published byKathryn Conley Modified over 9 years ago
1
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett Updates to Interval of Validity Service (IOVSvc) ATLAS Software Week Dec 1 2003 Architecture Session
2
2 Charles Leggett Updates to Interval of Validity Service â IOVSvc-00-03-0x and above. â Conditions Store and Detector Store have been merged. â Registration of DataHandles and callback functions now handled by StoreGate. â IOVSvc now has a complete abstract interface (IIOVSvc).
3
3 Charles Leggett Data Stores â As of release 7.3.0, the Detector Store and the Condition Store have been merged. â Combined store is the DetectorStore. â All conditions and detector data should be accessed via a StoreGate pointer to the DetectorStore
4
4 Charles Leggett Registering DataHandles â The regHandle() and regFcn() methods of the IOVSvc have been moved to StoreGate. No longer need to get a pointer to IOVSvc to register stuff. â The syntax has not changed, only the access method: â Note that if you register a function with a DataHandle, you don’t have to register the handle first - it can all be done with one statement. StoreGateSvc *m_pDetSvc; service( "DetectorStore", m_pDetSvc ); m_pDetSvc->regHandle( handle, key ); m_pDetSvc->regFcn( &Class::callback, obj, handle2, key2 );
5
5 Charles Leggett Header Files â The header file that provides the macro for the callback function arguments, “IOVSvcDefs.h” has been moved to the AthenaKernel package.
6
6 Charles Leggett Initialization â For the moment, registering of DataHandles and callback functions should still be done in the initialize() phase if possible. â For objects such as AlgTools and the like which don’t have an initialize() phase, we will soon introduce a “BeginRun” incident. For these objects, registration should occur in BeginRun. â If you register a callback function after the first event has been processed, you can for the IOVSvc to immediately trigger the callback by supplying an optional extra bool argument (set to true) to regFcn().
7
7 Charles Leggett Abstract Interface â For all other accesses to the IOVSvc, get hold of service via it’s abstract interface: IIOVSvc *m_pIOVSvc; service("IOVSvc", p_IOVSvc); IOVRange range; m_pIOVSvc->getRange(clid, key, range);
8
8 Charles Leggett Sequence Diagram AlgHandleStoregateProxyIOVSvcCondDBNovaCnvPPSvc regHandle(handle,key) accessData() T* DataObj * reset() callback(dbKey) T* regFcn(this,&Fcn,handle,key) reset() initialize / BeginRun execute async bindHandle(handle) IOVDbSvc IOV,string getData(key) DataObj * PersSvc updateAddress(TA) buildIOA(string) IOA setRange(clID,key,IOV) createObj(IOA) setAddress(IOA) IOA buildIOA(string) partial IOA regProxy(proxy) bind(handle,key)
9
9 Charles Leggett Other Stuff â Full online documentation: l http://annwm.lbl.gov/~leggett/Atlas/IOVSvc http://annwm.lbl.gov/~leggett/Atlas/IOVSvc
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.