Simple interface to store generic user data. More...
#include <pre-generated/EVENT/LCGenericObject.h>
Public Types | |
typedef LCGenericObject | lcobject_type |
Useful typedef for template programming with LCIO. | |
Public Member Functions | |
virtual | ~LCGenericObject () |
Destructor. | |
virtual int | getNInt () const =0 |
Number of integer values stored in this object. | |
virtual int | getNFloat () const =0 |
Number of float values stored in this object. | |
virtual int | getNDouble () const =0 |
Number of double values stored in this object. | |
virtual int | getIntVal (int index) const =0 |
Returns the integer value for the given index. | |
virtual float | getFloatVal (int index) const =0 |
Returns the float value for the given index. | |
virtual double | getDoubleVal (int index) const =0 |
Returns the double value for the given index. | |
virtual bool | isFixedSize () const =0 |
True if objects of the implementation class have a fixed size, i.e getNInt, getNFloat and getNDouble will return values that are constant during the lifetime of the object. | |
virtual const std::string | getTypeName () const =0 |
The type name of the user class (typically the class name) This type name is stored as a collection parameter "TypeName" with every collection of LCGenericObject subclasses. More... | |
virtual const std::string | getDataDescription () const =0 |
The description string. More... | |
virtual int | id () const |
Provide default implementation for id. | |
![]() | |
virtual | ~LCObject () |
Destructor. | |
virtual LCObject * | clone () const |
Returns an object id for internal (debugging) use in LCIO. More... | |
![]() | |
template<class V > | |
V::ext_type | ext () |
Provides access to an extension object - the type and ownership is defined by the class V which should be a subtype of LCExtension, LCOwnedExtension, LCExtensionVector, LCExtensionList,... | |
template<class V > | |
const V::ext_type | ext () const |
template<class V > | |
V::rel_type | rel () |
Provides read access to relations - the object types and their connectivity are defined by the class V which has to be a subtype of either LC1To1Relation, LC1ToNRelation or LCNToNRelation. | |
Additional Inherited Members | |
![]() | |
template<class V > | |
V::ptr & | ptr () const |
Returns the reference to the pointer to the extension/relation object. | |
Simple interface to store generic user data.
To store your own classes they have to implement this interface.
2005-02-11, gaede: Changed the return value of getTypeName() and getDataDescription() from const std::string& to const std::string to make the implementation easier
|
pure virtual |
The description string.
A comma separated list of pairs of type identifier, one of 'i','f','d' followed by ':' and an attribute name, e.g. "i:cellId,f:offset,f:gain".
Implemented in IMPL::LCGenericObjectImpl.
|
pure virtual |
The type name of the user class (typically the class name) This type name is stored as a collection parameter "TypeName" with every collection of LCGenericObject subclasses.
Implemented in IMPL::LCGenericObjectImpl.