![]() |
ATLAS Offline Software
|
Common interface for the code generator D3PD classes. More...
#include <IReaderD3PD.h>
Public Types | |
| typedef unsigned int | Dim_t |
| Currently unimplemented — see design note. More... | |
Public Member Functions | |
| virtual | ~IReaderD3PD () |
| To make vtable happy... More... | |
| virtual void | setIsContainer (bool isContainer)=0 |
| Set the "isCollection" parameter of the object. More... | |
| virtual bool | isContainer () const =0 |
| Get the "isCollection" parameter of the object. More... | |
| virtual void | setPrefix (const std::string &prefix)=0 |
| Set the common prefix of the variables. More... | |
| virtual const std::string & | prefix () const =0 |
| Get the common prefix of the variables. More... | |
| virtual StatusCode | createReader (const std::string &classname, const std::string &dir="./") const =0 |
| Function creating the D3PDReader code. More... | |
| virtual StatusCode | capture ()=0 |
| Capture the current state of all variables and write to the tuple. More... | |
| virtual StatusCode | clear ()=0 |
| Clear all the tuple variables. More... | |
| virtual StatusCode | redim (const Dim_t *ptr)=0 |
| virtual StatusCode | addMetadata (const std::string &key, const void *obj, const std::type_info &ti)=0 |
| Add a new piece of metadata to the tuple. More... | |
| template<class T > | |
| StatusCode | addMetadata (const std::string &key, const T *obj) |
| Add a new piece of metadata to the tuple. More... | |
| template<class T > | |
| StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring="") |
| Add a variable to the tuple. More... | |
| template<class T , class U > | |
| StatusCode | addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval) |
| Add a variable to the tuple. More... | |
| virtual StatusCode | addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)=0 |
| Add a variable to the tuple. More... | |
| template<class T > | |
| StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="") |
| Add a variable to the tuple. More... | |
| template<class T , class U > | |
| StatusCode | addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval) |
| Add a variable to the tuple. More... | |
| virtual StatusCode | addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)=0 |
| Add a variable to the tuple. More... | |
Common interface for the code generator D3PD classes.
To make D3PD::ReaderAlg independent of the concrete generator implementation, all the code generator D3PD classes should implement this interface. It's a very simple expansion of the D3PD::ID3PD interface...
Definition at line 29 of file IReaderD3PD.h.
|
inherited |
|
inlinevirtual |
|
pure virtualinherited |
Add a variable to the tuple.
| name | The name of the variable. |
| type | The type of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| dim | Dimension for the variable. (Presently unimplemented!) |
| docstring | Documentation string for this variable. |
| defval | Pointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr.
Implemented in D3PD::RootD3PD, D3PD::VectorFillerToolBase, D3PD::AddVariable, D3PD::ObjectMetadata, and D3PD::RootReaderD3PDBase.
|
inherited |
Add a variable to the tuple.
| name | The name of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| dim | Dimension for the variable. (Presently unimplemented!) |
| docstring | Documentation string for this variable. |
| defval | Pointer to the default value to use for this variable. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr.
|
inherited |
Add a variable to the tuple.
| name | The name of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| dim | Dimension for the variable. (Presently unimplemented!) |
| docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr.
|
inherited |
Add a new piece of metadata to the tuple.
| key | - The key for this object. Any existing object will be overwritten. |
| obj | - Pointer to the object to write. |
The interpretation of the key parameter is up to the concrete D3PD implementation. However, a key name with a trailing slash NAME/ indicates that all metadata items with this name should be grouped together in a collection called NAME (for example, in a Root directory with that name).
|
pure virtualinherited |
Add a new piece of metadata to the tuple.
| key | - The key for this object. Any existing object will be overwritten. |
| obj | - Pointer to the object to write. |
| ti | - Type of the object to write. |
The interpretation of the key parameter is up to the concrete D3PD implementation. However, a key name with a trailing slash NAME/ indicates that all metadata items with this name should be grouped together in a collection called NAME (for example, in a Root directory with that name).
Implemented in D3PD::RootD3PD, and D3PD::RootReaderD3PDBase.
|
pure virtualinherited |
Add a variable to the tuple.
| name | The name of the variable. |
| type | The type of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| docstring | Documentation string for this variable. |
| defval | Pointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr.
Implemented in D3PD::RootD3PD, D3PD::VectorFillerToolBase, D3PD::AddVariable, D3PD::ObjectMetadata, and D3PD::RootReaderD3PDBase.
|
inherited |
Add a variable to the tuple.
| name | The name of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| docstring | Documentation string for this variable. |
| defval | Pointer to the default value to use for this variable. Only works for basic types. |
If called from the constructor, the only effect is to clear ptr.
|
inherited |
Add a variable to the tuple.
| name | The name of the variable. |
| ptr | Pointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill(). |
| docstring | Documentation string for this variable. |
If called from the constructor, the only effect is to clear ptr.
|
pure virtualinherited |
Capture the current state of all variables and write to the tuple.
Implemented in D3PD::RootD3PD, and D3PD::RootReaderD3PDBase.
|
pure virtualinherited |
Clear all the tuple variables.
Implemented in D3PD::RootD3PD, and D3PD::RootReaderD3PDBase.
|
pure virtual |
Function creating the D3PDReader code.
This function should be implemented in the child classes to generate the D3PDReader source files. It's quite a bit influenced by the currently only implementation (D3PD::RootReaderD3PD), but I believe it could be used for other backends later on as well.
| classname | Name of the class to be generated |
| dir | Directory where the source(s) should be put |
| prefix | Common prefix to the declared variables |
Implemented in D3PD::RootReaderD3PD_v1, and D3PD::RootReaderD3PD_v2.
|
pure virtual |
Get the "isCollection" parameter of the object.
Implemented in D3PD::RootReaderD3PDBase.
|
pure virtual |
Get the common prefix of the variables.
Implemented in D3PD::RootReaderD3PDBase.
Implemented in D3PD::RootD3PD, and D3PD::RootReaderD3PDBase.
|
pure virtual |
Set the "isCollection" parameter of the object.
Implemented in D3PD::RootReaderD3PDBase.
|
pure virtual |
Set the common prefix of the variables.
Implemented in D3PD::RootReaderD3PDBase.
1.8.18