The Gaudi Framework  v29r0 (ff2e7097)
NTuple::_MatrixImp< TYP > Class Template Reference

Concrete class discribing a matrix column in a N tuple. More...

#include <GaudiKernel/NTupleItems.h>

Inheritance diagram for NTuple::_MatrixImp< TYP >:
Collaboration diagram for NTuple::_MatrixImp< TYP >:

Public Types

typedef Range< TYP > ItemRange
 Set type definition to make life more easy easy. More...
 
- Public Types inherited from NTuple::_DataImp< TYP >
typedef Range< TYP > ItemRange
 Set type definition to make life more easy easy. More...
 
- Public Types inherited from NTuple::_Data< TYP >
typedef Range< TYP > ItemRange
 Set type definition to make life more easy easy. More...
 

Public Member Functions

 _MatrixImp (INTuple *tup, const std::string &name, const std::type_info &typ, const std::string &index, long ncol, long nrow, TYP min, TYP max, TYP def)
 Standard Constructor. More...
 
 ~_MatrixImp () override=default
 Standard Destructor. More...
 
void setDefault (const TYP val) override
 Compiler type ID. More...
 
const ItemRangerange () const override
 Access the range if specified. More...
 
long size () const override
 Size of entire object. More...
 
long ndim () const override
 Dimension. More...
 
long dim (long i) const override
 Access individual dimensions. More...
 
- Public Member Functions inherited from NTuple::_DataImp< TYP >
 _DataImp (INTuple *tup, std::string name, const std::type_info &info, std::string index, long len, TYP low, TYP high, TYP def)
 Standard Constructor. More...
 
 ~_DataImp () override
 Standard destructor. More...
 
std::string typeName () const override
 Get proper type name. More...
 
void reset () override
 Reset to default. More...
 
long filled () const override
 Number of items filled. More...
 
INTupleItemindexItem () override
 Pointer to index column (if present, 0 else) More...
 
const INTupleItemindexItem () const override
 Pointer to index column (if present, 0 else) (CONST) More...
 
const std::type_infotypeID () const override
 Compiler type ID. More...
 
void release () override
 Destruct object. More...
 
bool hasIndex () const override
 Is the tuple have an index column? More...
 
const std::stringindex () const override
 Access the index _Column. More...
 
const std::stringname () const override
 Access _Column name. More...
 
long type () const override
 TYP information of the item. More...
 
void setType (long t) override
 Set the properties of the _Column. More...
 
long length () const override
 Access the buffer length. More...
 
const void * buffer () const override
 Access data buffer (CONST) More...
 
virtual void * buffer ()
 Access data buffer. More...
 
INTupletuple () override
 Access to hosting ntuple. More...
 
- Public Member Functions inherited from INTupleItem
virtual ~INTupleItem ()=default
 destructor More...
 
- Public Member Functions inherited from NTuple::_Matrix< TYP >
template<class T >
_Matrix< TYP > & operator= (const _Matrix< T > &copy)
 Assignment operator. More...
 
TYP * column (long i)
 Access to data by reference. More...
 
const TYP * column (long i) const
 Access to data by reference (CONST) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from NTuple::_Matrix< TYP >
static _Matrixcreate (INTuple *tup, const std::string &name, const std::type_info &info, const std::string &index, long ncol, long nrow, TYP min, TYP max, TYP def)
 Create instance. More...
 
- Protected Types inherited from NTuple::_DataImp< TYP >
typedef const std::stringCSTR
 
typedef const std::type_infoCTYPE
 
- Protected Attributes inherited from NTuple::_DataImp< TYP >
long m_length
 Entire buffer length. More...
 
INTuplem_tuple
 Pointer to N tuple. More...
 
std::string m_name
 _Column name More...
 
std::string m_index
 Check that values are within a certain range while filling. More...
 
INTupleItemm_indexItem = nullptr
 Pointer to index item. More...
 
DataTypeInfo::Type m_type
 _Column type More...
 
TYP m_def
 Buffer with default value. More...
 
Range< TYP > m_range
 Check that values are within a certain range while filling. More...
 
const std::type_infom_info
 Item type information. More...
 
- Protected Attributes inherited from NTuple::_Data< TYP >
TYP * m_buffer = nullptr
 Pointer to data buffer. More...
 
- Protected Attributes inherited from NTuple::_Matrix< TYP >
long m_rows
 Number of rows per column. More...
 

Detailed Description

template<class TYP>
class NTuple::_MatrixImp< TYP >

Concrete class discribing a matrix column in a N tuple.

Definition at line 40 of file NTupleItems.h.

Member Typedef Documentation

template<class TYP>
typedef Range<TYP> NTuple::_MatrixImp< TYP >::ItemRange

Set type definition to make life more easy easy.

Definition at line 223 of file NTupleItems.h.

Constructor & Destructor Documentation

template<class TYP>
NTuple::_MatrixImp< TYP >::_MatrixImp ( INTuple tup,
const std::string name,
const std::type_info typ,
const std::string index,
long  ncol,
long  nrow,
TYP  min,
TYP  max,
TYP  def 
)
inline

Standard Constructor.

Definition at line 225 of file NTupleItems.h.

227  : _DataImp<TYP>( tup, name, typ, index, nrow * ncol, min, max, def )
228  {
229  this->m_rows = nrow;
230  }
const std::string & index() const override
Access the index _Column.
Definition: NTupleItems.h:135
const std::string & name() const override
Access _Column name.
Definition: NTupleItems.h:137
T min(T...args)
T max(T...args)
long m_rows
Number of rows per column.
Definition: NTuple.h:203
template<class TYP>
NTuple::_MatrixImp< TYP >::~_MatrixImp ( )
overridedefault

Standard Destructor.

Member Function Documentation

template<class TYP>
long NTuple::_MatrixImp< TYP >::dim ( long  i) const
inlineoverridevirtual

Access individual dimensions.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 244 of file NTupleItems.h.

245  {
246  return ( this->hasIndex() ) ? ( ( i == 0 ) ? this->m_rows : this->m_length / this->m_rows )
247  : ( ( i == 1 ) ? this->m_length / this->m_rows : this->m_rows );
248  }
bool hasIndex() const override
Is the tuple have an index column?
Definition: NTupleItems.h:133
long m_length
Entire buffer length.
Definition: NTupleItems.h:54
long m_rows
Number of rows per column.
Definition: NTuple.h:203
template<class TYP>
long NTuple::_MatrixImp< TYP >::ndim ( ) const
inlineoverridevirtual

Dimension.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 242 of file NTupleItems.h.

242 { return 2; }
template<class TYP>
const ItemRange& NTuple::_MatrixImp< TYP >::range ( ) const
inlineoverridevirtual

Access the range if specified.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 238 of file NTupleItems.h.

238 { return this->m_range; }
Range< TYP > m_range
Check that values are within a certain range while filling.
Definition: NTupleItems.h:68
template<class TYP>
void NTuple::_MatrixImp< TYP >::setDefault ( const TYP  val)
inlineoverridevirtual

Compiler type ID.

Set default value

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 236 of file NTupleItems.h.

236 { this->m_def = val; }
TYP m_def
Buffer with default value.
Definition: NTupleItems.h:66
template<class TYP>
long NTuple::_MatrixImp< TYP >::size ( ) const
inlineoverridevirtual

Size of entire object.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 240 of file NTupleItems.h.

240 { return this->m_length * sizeof( TYP ); }
long m_length
Entire buffer length.
Definition: NTupleItems.h:54

The documentation for this class was generated from the following file: