Upgrading your packages to use Gaudi v9 | ||
Introduction
Services |
IntroductionThis page will discuss the facts you need to know to upgrade your packages to use Gaudi v9. For the most part - the migration to v9 is transparent. Most of the features here can be ignored - but beware - some things that are optional now...will be required when we upgrade to the next version of Gaudi. Transient Data StoreUser Defined Data Objects ServicesThe call used to obtain access to a service has been simplified. While the old method will work - it is obsolete and will be phased out by the next release of Gaudi. Algorithms and Services no longer need to use the serviceLocator( )
to access services. A new method called service( ) is provided to
all Gaudi algorithms and services. The call goes like this: All Gaudi algorithms have methods to access the standard Gaudi
services: Component other than algorithms and services (Tools, Converters) do not have access to the service routine. They must continue to use the serviceLocator( ) interface to access services. For example: IService *isvc = 0; Loading Shareable LibrariesEach of our packages that creates a shareable library that Gaudi
recognizes, requires 2 special source files: The form for these files has been greatly simplified. Gaudi now provides standard macros that define all of the required pieces. In effect, we just have to fill in the blanks. <packageName>_load.cxx Here is an example from the GuiSvc package: <packageName>_dll.cxx Here is an example from the GlastSvc package: AuditorsGaudi provides an Auditor Service. It "provides a set of auditors that can be sued to provide monitoring of various characteristics of the execution of Algorithms." NameAuditor - ChronoAuditor - monitors cpu usage of an algorithm Reports total and per event average cpu usage at the end of the job. MemoryAuditor (only available on Linux) - monitors state of memory during algorithm execution MemStatAuditor - prints a table of memory usage at the end of job. You can activate the auditors through the jobOptions file, for example: ApplicationMgr.DLLs += { "GaudiAud" }; By default, only the execute method of algorithms is enabled.
The can be changed through the jobOptions file: User defined auditors can be created - perhaps one for checking memory usage on Windows? See section 11.7.3 of the Gaudi Developer's Guide for details.
|
Back to GLAST Gaudi Home Back to GLAST Software Home
H. Kelly Last Modified: 2002-12-02 11:37:27 -0800