The Gaudi Framework  v30r3 (a5ef0a68)
NTuple::_Matrix< TYP > Class Template Reference

Abstract class describing a matrix column in a N tuple. More...

#include <GaudiKernel/NTuple.h>

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

Public Member Functions

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...
 
- Public Member Functions inherited from NTuple::_Data< TYP >
virtual void setDefault (const TYP d)=0
 Set default value. More...
 
virtual const ItemRangerange () const =0
 Access the range if specified. More...
 
- Public Member Functions inherited from INTupleItem
virtual ~INTupleItem ()=default
 destructor More...
 
virtual void release ()=0
 Destruct object. More...
 
virtual const std::type_infotypeID () const =0
 Compiler type ID. More...
 
virtual std::string typeName () const =0
 Proper type name of the object. More...
 
virtual const void * buffer () const =0
 Access data buffer (CONST) More...
 
virtual bool hasIndex () const =0
 Is the tuple have an index item? More...
 
virtual const std::stringindex () const =0
 Access the index _Item. More...
 
virtual const std::stringname () const =0
 Access _Item name. More...
 
virtual long type () const =0
 Type information of the item. More...
 
virtual long length () const =0
 Access the buffer length. More...
 
virtual void reset ()=0
 Reset column. More...
 
virtual long ndim () const =0
 Dimension. More...
 
virtual long dim (long i) const =0
 Access individual dimensions. More...
 
virtual long size () const =0
 Size of entire object. More...
 
virtual long filled () const =0
 Number of items filled. More...
 
virtual INTupleItemindexItem ()=0
 Pointer to index column (if present, 0 else) More...
 
virtual const INTupleItemindexItem () const =0
 Pointer to index column (if present, 0 else) (CONST) More...
 
virtual INTupletuple ()=0
 NTuple the item belongs to. More...
 

Static Public Member Functions

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 Attributes

long m_rows
 Number of rows per column. More...
 
- Protected Attributes inherited from NTuple::_Data< TYP >
TYP * m_buffer = nullptr
 Pointer to data buffer. More...
 

Additional Inherited Members

- Public Types inherited from NTuple::_Data< TYP >
typedef Range< TYP > ItemRange
 Set type definition to make life more easy easy. More...
 
- Protected Member Functions inherited from INTupleItem
virtual void setType (long typ)=0
 Set the properties of the INTupleItem. More...
 

Detailed Description

template<class TYP>
class NTuple::_Matrix< TYP >

Abstract class describing a matrix column in a N tuple.

Definition at line 45 of file NTuple.h.

Member Function Documentation

template<class TYP>
TYP* NTuple::_Matrix< TYP >::column ( long  i)
inline

Access to data by reference.

Definition at line 221 of file NTuple.h.

221 { return this->m_buffer + i * m_rows; }
long m_rows
Number of rows per column.
Definition: NTuple.h:201
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:130
template<class TYP>
const TYP* NTuple::_Matrix< TYP >::column ( long  i) const
inline

Access to data by reference (CONST)

Definition at line 223 of file NTuple.h.

223 { return this->m_buffer + i * m_rows; }
long m_rows
Number of rows per column.
Definition: NTuple.h:201
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:130
template<class TYP >
NTuple::_Matrix< TYP > * NTuple::_Matrix< TYP >::create ( 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 
)
static

Create instance.

Definition at line 42 of file NTupleItems.cpp.

45 {
46  return new _MatrixImp<TYP>( tup, name, info, idx, ncol, nrow, min, max, def );
47 }
virtual const std::string & name() const =0
Access _Item name.
T min(T...args)
T max(T...args)
template<class TYP>
template<class T >
_Matrix<TYP>& NTuple::_Matrix< TYP >::operator= ( const _Matrix< T > &  copy)
inline

Assignment operator.

Definition at line 209 of file NTuple.h.

210  {
211  long len = this->length();
212  if ( len == copy.length() ) {
213  const T* source = (const T*)copy.buffer();
214  std::copy_n( source, len, this->m_buffer );
215  return *this;
216  }
217  throw std::out_of_range( "N-tuple matrix cannot be copied! The index range does not match!" );
218  return *this;
219  }
T copy(T...args)
T copy_n(T...args)
virtual long length() const =0
Access the buffer length.
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:130

Member Data Documentation

template<class TYP>
long NTuple::_Matrix< TYP >::m_rows
protected

Number of rows per column.

Definition at line 201 of file NTuple.h.


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