LCIO
02.17
|
Default LCIO implementation of the interface to store generic user data. More...
#include <LCGenericObjectImpl.h>
Public Member Functions | |
LCGenericObjectImpl () | |
Variable size c'tor. More... | |
LCGenericObjectImpl (int nInt, int nFloat, int nDouble) | |
Fixed size c'tor. More... | |
virtual | ~LCGenericObjectImpl () |
Destructor. More... | |
virtual int | id () const |
Provide default implementation for id. More... | |
virtual int | getNInt () const |
Number of integer values stored in this object. More... | |
virtual int | getNFloat () const |
Number of float values stored in this object. More... | |
virtual int | getNDouble () const |
Number of double values stored in this object. More... | |
virtual int | getIntVal (int index) const |
Returns the integer value for the given index. More... | |
virtual float | getFloatVal (int index) const |
Returns the float value for the given index. More... | |
virtual double | getDoubleVal (int index) const |
Returns the double value for the given index. More... | |
virtual void | setIntVal (unsigned index, int value) |
Sets the integer value at the given index. More... | |
virtual void | setFloatVal (unsigned index, float value) |
Sets the float value at the given index. More... | |
virtual void | setDoubleVal (unsigned index, double value) |
Sets the double value at the given index. More... | |
virtual bool | isFixedSize () const |
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. More... | |
virtual const std::string | getTypeName () const |
The type name of the user class (typically the class name) More... | |
virtual const std::string | getDataDescription () const |
The description string. More... | |
![]() | |
virtual | ~LCGenericObject () |
Destructor. More... | |
![]() | |
virtual | ~LCObject () |
Destructor. More... | |
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,... More... | |
template<class V > | |
const V::ext_type | ext () const |
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,... More... | |
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. More... | |
![]() | |
AccessChecked () | |
virtual | ~AccessChecked () |
virtual int | simpleUID () const |
Protected Attributes | |
std::vector< int > | _intVec {} |
std::vector< float > | _floatVec {} |
std::vector< double > | _doubleVec {} |
bool | _isFixedSize {false} |
![]() | |
bool | _readOnly {false} |
int | _id {-1} |
Static Protected Attributes | |
static const std::string | _typeName = "LCGenericObject" |
static const std::string | _dataDescription = "" |
![]() | |
static std::atomic_int | _lCObjectId |
Additional Inherited Members | |
![]() | |
typedef LCGenericObject | lcobject_type |
Useful typedef for template programming with LCIO. More... | |
![]() | |
typedef std::type_index | ext_index |
typedef std::shared_ptr< void > | ext_type |
typedef std::map< ext_index, ext_type > | ext_map |
![]() | |
virtual void | setReadOnly (bool readOnly) |
void | checkAccess () |
void | checkAccess (const char *what) |
Default LCIO implementation of the interface to store generic user data.
Definition at line 18 of file LCGenericObjectImpl.h.
IMPL::LCGenericObjectImpl::LCGenericObjectImpl | ( | ) |
Variable size c'tor.
Definition at line 14 of file LCGenericObjectImpl.cc.
IMPL::LCGenericObjectImpl::LCGenericObjectImpl | ( | int | nInt, |
int | nFloat, | ||
int | nDouble | ||
) |
Fixed size c'tor.
Definition at line 20 of file LCGenericObjectImpl.cc.
References _doubleVec, _floatVec, _intVec, and std::vector< T >::resize().
|
inlinevirtual |
Destructor.
Definition at line 31 of file LCGenericObjectImpl.h.
|
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".
Implements EVENT::LCGenericObject.
Definition at line 76 of file LCGenericObjectImpl.cc.
References _dataDescription.
|
virtual |
Returns the double value for the given index.
Implements EVENT::LCGenericObject.
Definition at line 46 of file LCGenericObjectImpl.cc.
References _doubleVec.
Referenced by UTIL::EventSummary::getD(), and UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::getDoubleVal().
|
virtual |
Returns the float value for the given index.
Implements EVENT::LCGenericObject.
Definition at line 42 of file LCGenericObjectImpl.cc.
References _floatVec.
Referenced by UTIL::EventSummary::getF(), UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::getFloatVal(), CalibrationConstant::getGain(), and CalibrationConstant::getOffset().
|
virtual |
Returns the integer value for the given index.
Implements EVENT::LCGenericObject.
Definition at line 38 of file LCGenericObjectImpl.cc.
References _intVec.
Referenced by CalibrationConstant::getCellID(), UTIL::EventSummary::getI(), and UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::getIntVal().
|
virtual |
Number of double values stored in this object.
Implements EVENT::LCGenericObject.
Definition at line 34 of file LCGenericObjectImpl.cc.
References _doubleVec, and std::vector< T >::size().
Referenced by UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::LCFixedObject().
|
virtual |
Number of float values stored in this object.
Implements EVENT::LCGenericObject.
Definition at line 30 of file LCGenericObjectImpl.cc.
References _floatVec, and std::vector< T >::size().
Referenced by UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::LCFixedObject().
|
virtual |
Number of integer values stored in this object.
Implements EVENT::LCGenericObject.
Definition at line 27 of file LCGenericObjectImpl.cc.
References _intVec, and std::vector< T >::size().
Referenced by UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::LCFixedObject().
|
virtual |
The type name of the user class (typically the class name)
Implements EVENT::LCGenericObject.
Definition at line 72 of file LCGenericObjectImpl.cc.
References _typeName.
|
inlinevirtual |
Provide default implementation for id.
Reimplemented from EVENT::LCGenericObject.
Definition at line 33 of file LCGenericObjectImpl.h.
References IMPL::AccessChecked::simpleUID().
Referenced by UTIL::LCFixedObject< int(ESI::SIZE), int(ESF::SIZE), int(ESD::SIZE)>::id().
|
virtual |
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.
Implements EVENT::LCGenericObject.
Definition at line 50 of file LCGenericObjectImpl.cc.
References _isFixedSize.
|
virtual |
Sets the double value at the given index.
Definition at line 66 of file LCGenericObjectImpl.cc.
References _doubleVec, _isFixedSize, std::vector< T >::resize(), and std::vector< T >::size().
Referenced by UTIL::EventSummary::setD().
|
virtual |
Sets the float value at the given index.
Definition at line 60 of file LCGenericObjectImpl.cc.
References _floatVec, _isFixedSize, std::vector< T >::resize(), and std::vector< T >::size().
Referenced by CalibrationConstant::CalibrationConstant(), and UTIL::EventSummary::setF().
|
virtual |
Sets the integer value at the given index.
Definition at line 54 of file LCGenericObjectImpl.cc.
References _intVec, _isFixedSize, std::vector< T >::resize(), and std::vector< T >::size().
Referenced by CalibrationConstant::CalibrationConstant(), and UTIL::EventSummary::setI().
|
staticprotected |
Definition at line 98 of file LCGenericObjectImpl.h.
Referenced by getDataDescription().
|
protected |
Definition at line 94 of file LCGenericObjectImpl.h.
Referenced by getDoubleVal(), getNDouble(), LCGenericObjectImpl(), and setDoubleVal().
|
protected |
Definition at line 93 of file LCGenericObjectImpl.h.
Referenced by getFloatVal(), getNFloat(), LCGenericObjectImpl(), and setFloatVal().
|
protected |
Definition at line 92 of file LCGenericObjectImpl.h.
Referenced by getIntVal(), getNInt(), LCGenericObjectImpl(), and setIntVal().
|
protected |
Definition at line 95 of file LCGenericObjectImpl.h.
Referenced by isFixedSize(), SIO::SIOLCGenericObjectHandler::read(), setDoubleVal(), setFloatVal(), and setIntVal().
|
staticprotected |
Definition at line 97 of file LCGenericObjectImpl.h.
Referenced by getTypeName().