23.05.2014 Views

Athena Developer Guide

Athena Developer Guide

Athena Developer Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Athena</strong> Chapter 17 Physical design issues Version/Issue: 2.0.0<br />

17.3.1.1.1 Component declaration statements<br />

The complete set of statements that are available for declaring components is shown in Listing 17.4.<br />

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

ContainedObjects using the generic converters.<br />

Listing 17.4 The available component declaration statements<br />

DECLARE_ALGORITHM(X)<br />

DECLARE_ALGTOOL(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_TOOL(X) [2]<br />

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

DECLARE_NAMESPACE_ALGTOOL(N,X)<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 />

DECLARE_NAMESPACE_TOOL(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. The DECLARE_ALGTOOL(X) and DECLARE_TOOL(X) declarations are synonyms of each<br />

other.<br />

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

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

CellMaker).<br />

page 152

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

Saved successfully!

Ooh no, something went wrong!