Athena-POOL integration design
D. Adams
08apr03 1100 EDT
Diagrams
We identify four relevant systems: athena (including Gaudi and
StoreGate), pool, event header and integration. The dependencies
between these are shown in the system dependency diagram
(jpg,
pdf,
sdr).
The project will provide the components in the integration system.
the event header system does not yet exist and this project will
also implement any components from that system.
Components in other diagrams are color coded to indicate the system
with which they are associated.
Four sequence diagrams illustrate use cases which were used to
identify the required components:
-
The event input sequence diagram
(jpg,
pdf,
sdr).
illustrates accessing and unpacking an event header to fill
StoreGate with a description of an event.
-
The data input sequence diagram
(jpg,
pdf,
sdr).
illustrates StoreGate fetching data from POOL when a user
requests one of its data objects.
-
The event output sequence diagram
(jpg,
pdf,
sdr).
shows how an output stream loops over selected objects in StoreGate
-
The EventInfo output sequence diagram
(jpg,
pdf,
sdr).
shows how the event header is constructed, written to POOL
and recorded in the output event collection.
The class diagram
(jpg,
pdf,
sdr).
shows associations between components in
the integration system. Not that the components are vertically
ordered by dependency.
Packages and classes
We identify the following classes and package assignments.
(These were obtained by looking in ~fine/Pool.)
Selected dependencies are shown in square brackets.
Database/AthenaPOOL/PoolSvc [AtlasPOOL, AtlasROOT]
Database/AthenaPOOL/AthenaPoolEventHeader
Database/EventHeader/EventHeader (alternative to the previous)
Database/AthenaPOOL/AthenaPoolCnvSvc [PoolSvc, AthenaPoolEventHeader]
Database/AthenaPOOL/EventSelectorAthenaPool [AthenaPoolCnvSvc]
Database/AthenaPOOL/NaivePoolExamples [AthenaPoolCnvSvc]
EventHeaderConverter (This should not be here--
it leads to a circular dependency)
dladams@bnl.gov