All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 ()
 destructor More...
 
virtual void release ()=0
 Destruct object. More...
 
virtual const std::type_info & typeID () 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::string & index () const =0
 Access the index _Item. More...
 
virtual const std::string & name () 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
 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 41 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 217 of file NTuple.h.

217 { return (this->m_buffer + i*m_rows); }
long m_rows
Number of rows per column.
Definition: NTuple.h:189
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:115
list i
Definition: ana.py:128
template<class TYP>
const TYP* NTuple::_Matrix< TYP >::column ( long  i) const
inline

Access to data by reference (CONST)

Definition at line 219 of file NTuple.h.

219 { return (this->m_buffer + i*m_rows); }
long m_rows
Number of rows per column.
Definition: NTuple.h:189
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:115
list i
Definition: ana.py:128
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 41 of file NTupleItems.cpp.

42  {
43  _MatrixImp<TYP>* result = new _MatrixImp<TYP>(tup,name,info,idx,ncol,nrow,min,max,def);
44  return result;
45 }
virtual const std::string & name() const =0
Access _Item name.
#define min(a, b)
template<class TYP>
template<class T >
_Matrix<TYP>& NTuple::_Matrix< TYP >::operator= ( const _Matrix< T > &  copy)
inline

Assignment operator.

Definition at line 203 of file NTuple.h.

203  {
204  long len = this->length();
205  if ( len == copy.length() ) {
206  const T* source = (const T*)copy.buffer();
207  for ( int i = 0; i < len; i++ ) {
208  *(this->m_buffer + i) = *(source + i);
209  }
210  return *this;
211  }
212  throw std::out_of_range
213  ("N-tuple matrix cannot be copied! The index range does not match!");
214  return *this;
215  }
TYP * m_buffer
Pointer to data buffer.
Definition: NTuple.h:115
list i
Definition: ana.py:128
virtual long length() const =0
Access the buffer length.

Member Data Documentation

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

Number of rows per column.

Definition at line 189 of file NTuple.h.


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