Athena Developer Guide
Athena Developer Guide
Athena Developer Guide
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Athena</strong><br />
Chapter 13 Framework services Version/Issue: 2.0.0<br />
Chapter 13<br />
Framework services<br />
13.1 Overview<br />
Services are generally sizeable components that are setup and initialized once at the beginning of the<br />
job by the framework and used by many algorithms as often as they are needed. It is not desirable in<br />
general to require more than one instance of each service. Services cannot have a “state” because there<br />
are many potential users of them so it would not be possible to guarantee that the state is preserved in<br />
between calls.<br />
In this chapter we describe how services are created and accessed, and then give an overview of the<br />
various services, other than the data access services, which are available for use within the <strong>Athena</strong><br />
framework. The Job Options service, the Message service, the Particle Properties service, the Chrono<br />
& Stat service, the Auditor service, the Random Numbers service and the Incident service are available<br />
in this release. The Tools service is described in Chapter 14.<br />
We also describe how to implement new services for use within the <strong>Athena</strong> environment. We look at<br />
how to code a service, what facilities the Service base class provides and how a service is managed<br />
by the application manager.<br />
13.2 Requesting and accessing services<br />
The Application manager creates a certain number of services by default. These are the default data<br />
access services (EventDataSvc, DetectorDataSvc, HistogramDataSvc,<br />
NTupleSvc), the default data persistency services (EventPersistencySvc,<br />
DetectorPersistencySvc, HistogramPersistencySvc) and the framework services<br />
described in this chapter and in Chapter 14 (JobOptionsSvc, MessageSvc,<br />
page 95