23.05.2014 Views

Athena Developer Guide

Athena Developer Guide

Athena Developer Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Athena</strong> Chapter 18 Framework packages, interfaces and libraries Version/Issue: 2.0.0<br />

1. The argument to the DECLARE_FACTORY_ENTRIES statement is the name of the<br />

component library.<br />

2. Each component within the library should be declared using one of the DECLARE_XXX<br />

statements discussed in detail in the next Section.<br />

18.4.1.2 Component declaration statements<br />

The complete set of statements that are available for declaring components is given below. They<br />

include those that support C++ classes in different namespaces, as well as for DataObjects or<br />

ContainedObjects using the generic converters.<br />

Listing 18.4 The available component declaration statements<br />

DECLARE_ALGORITHM(X)<br />

DECLARE_AUDITOR(X)<br />

DECLARE_CONVERTER(X)<br />

DECLARE_GENERIC_CONVERTER(X) [1]<br />

DECLARE_OBJECT(X)<br />

DECLARE_SERVICE(X)<br />

DECLARE_NAMESPACE_ALGORITHM(N,X) [2]<br />

DECLARE_NAMESPACE_AUDITOR(N,X)<br />

DECLARE_NAMESPACE_CONVERTER(N,X)<br />

DECLARE_NAMESPACE_GENERIC_CONVERTER(N,X)<br />

DECLARE_NAMESPACE_OBJECT(N,X)<br />

DECLARE_NAMESPACE_SERVICE(N,X)<br />

Notes:<br />

1. Declarations of the form DECLARE_GENERIC_CONVERTER(X) are used to declare the<br />

generic converters for DataObject and ContainedObject classes. For DataObject<br />

classes, the argument should be the class name itself (e.g. EventHeader), whereas for<br />

ContainedObject classes, the argument should be the class name concatenated with<br />

either List or Vector (e.g. CellVector) depending on whether the objects are<br />

associated with an ObjectList or ObjectVector.<br />

2. Declarations of this form are used to declare components from explicit C++ namespaces. The<br />

first argument is the namespace (e.g. Atlfast), the second is the class name (e.g.<br />

CellMaker).<br />

page 164

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!