| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

NTuple::_ItemImp< TYP > Class Template Reference

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

#include <NTupleItems.h>

Inheritance diagram for NTuple::_ItemImp< TYP >:

[legend]
Collaboration diagram for NTuple::_ItemImp< TYP >:
[legend]
List of all members.

Public Types

typedef Range< TYP > ItemRange
 Set type definition to make life more easy easy.

Public Member Functions

 _ItemImp (INTuple *tup, const std::string &name, const std::type_info &info, TYP min, TYP max, TYP def)
 Standard Constructor.
virtual ~_ItemImp ()
 Standard Destructor.
virtual void setDefault (const TYP val)
 Set default value.
virtual const ItemRangerange () const
 Access the range if specified.
virtual long size () const
 Size of entire object.
virtual std::string typeName () const
 Get proper type name.
virtual void reset ()
 Reset to default.
virtual long filled () const
 Number of items filled.
virtual INTupleItemindexItem ()
 Pointer to index column (if present, 0 else).
virtual const INTupleItemindexItem () const
 Pointer to index column (if present, 0 else) (CONST).
virtual const std::type_info & typeID () const
 Compiler type ID.
virtual void release ()
 Destruct object.
virtual bool hasIndex () const
 Is the tuple have an index column?
virtual const std::string & index () const
 Access the index _Column.
virtual const std::string & name () const
 Access _Column name.
virtual long type () const
 TYP information of the item.
virtual void setType (long t)
 Set the properties of the _Column.
virtual long length () const
 Access the buffer length.
virtual const void * buffer () const
 Access data buffer (CONST).
virtual void * buffer ()
 Access data buffer.
virtual long ndim () const
 Dimension.
virtual long dim (long i) const
 Access individual dimensions.
virtual INTupletuple ()
 Access to hosting ntuple.
void set (const TYP &item)
 Access to data by reference.
virtual TYP get () const
 Access to data by reference (CONST).

Static Public Member Functions

static _Itemcreate (INTuple *tup, const std::string &name, const std::type_info &info, TYP min, TYP max, TYP def)
 Create instance.

Protected Types

typedef const std::string & CSTR
typedef const std::type_info & CTYPE

Protected Attributes

long m_length
 Entire buffer length.
INTuplem_tuple
 Pointer to N tuple.
std::string m_name
 _Column name
std::string m_index
 Check that values are within a certain range while filling.
INTupleItemm_indexItem
 Pointer to index item.
DataTypeInfo::Type m_type
 _Column type
TYP m_def
 Buffer with default value.
Range< TYP > m_range
 Check that values are within a certain range while filling.
const std::type_info & m_info
 Item type information.
TYP * m_buffer
 Pointer to data buffer.

Detailed Description

template<class TYP>
class NTuple::_ItemImp< TYP >

Concrete class discribing a column in a N tuple.

Definition at line 160 of file NTupleItems.h.


Member Typedef Documentation

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

Set type definition to make life more easy easy.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 165 of file NTupleItems.h.

template<class TYP>
typedef const std::string& NTuple::_DataImp< TYP >::CSTR [protected, inherited]

Definition at line 44 of file NTupleItems.h.

template<class TYP>
typedef const std::type_info& NTuple::_DataImp< TYP >::CTYPE [protected, inherited]

Definition at line 45 of file NTupleItems.h.


Constructor & Destructor Documentation

template<class TYP>
NTuple::_ItemImp< TYP >::_ItemImp ( INTuple tup,
const std::string &  name,
const std::type_info &  info,
TYP  min,
TYP  max,
TYP  def 
) [inline]

Standard Constructor.

Definition at line 167 of file NTupleItems.h.

00168     : _DataImp<TYP>(tup, name, info, "", 1, min, max, def) {                       }

template<class TYP>
virtual NTuple::_ItemImp< TYP >::~_ItemImp (  )  [inline, virtual]

Standard Destructor.

Definition at line 170 of file NTupleItems.h.

00170 {                                     }


Member Function Documentation

template<class TYP>
virtual void NTuple::_ItemImp< TYP >::setDefault ( const TYP  val  )  [inline, virtual]

Set default value.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 174 of file NTupleItems.h.

00174 { this->m_def = val;                  }

template<class TYP>
virtual const ItemRange& NTuple::_ItemImp< TYP >::range (  )  const [inline, virtual]

Access the range if specified.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 176 of file NTupleItems.h.

00176 { return this->m_range;               }

template<class TYP>
virtual long NTuple::_ItemImp< TYP >::size (  )  const [inline, virtual]

Size of entire object.

Reimplemented from NTuple::_DataImp< TYP >.

Definition at line 178 of file NTupleItems.h.

00178 { return this->m_length*sizeof(TYP);  }

template<class TYP>
virtual std::string NTuple::_DataImp< TYP >::typeName (  )  const [inline, virtual, inherited]

Get proper type name.

Implements INTupleItem.

Definition at line 82 of file NTupleItems.h.

00082                                            {
00083       return System::typeinfoName( this->typeID() );
00084     }

template<class TYP>
virtual void NTuple::_DataImp< TYP >::reset (  )  [inline, virtual, inherited]

Reset to default.

Implements INTupleItem.

Definition at line 86 of file NTupleItems.h.

00086                                               {
00087       TYP* buff = this->m_buffer;
00088       for ( size_t i = 0; i < static_cast<size_t>(m_length); i++ )    {
00089         *buff++ = m_def;
00090       }
00091     }

template<class TYP>
virtual long NTuple::_DataImp< TYP >::filled (  )  const [inline, virtual, inherited]

Number of items filled.

Implements INTupleItem.

Definition at line 93 of file NTupleItems.h.

00093                                               {
00094       int len = 1;
00095       int nd = ndim();
00096       if ( m_length > 1 )   {
00097         for ( int l = 0; l < nd-1; l++ )   {
00098           len *= dim(l);
00099         }
00100         if ( indexItem() )   {
00101           long *ll = (long*)m_indexItem->buffer();
00102           len *= *ll;
00103         }
00104         else if ( nd > 1 )   {
00105           len *= dim(nd);
00106         }
00107       }
00108       return len;
00109     }

template<class TYP>
virtual INTupleItem* NTuple::_DataImp< TYP >::indexItem (  )  [inline, virtual, inherited]

Pointer to index column (if present, 0 else).

Implements INTupleItem.

Definition at line 111 of file NTupleItems.h.

00111                                                       {
00112       if ( 0 == m_indexItem )   {
00113         m_indexItem = m_tuple->find(m_index);
00114       }
00115       return m_indexItem;
00116     }

template<class TYP>
virtual const INTupleItem* NTuple::_DataImp< TYP >::indexItem (  )  const [inline, virtual, inherited]

Pointer to index column (if present, 0 else) (CONST).

Implements INTupleItem.

Definition at line 118 of file NTupleItems.h.

00118                                                       {
00119       if ( 0 == m_indexItem )   {
00120         m_indexItem = m_tuple->find(m_index);
00121       }
00122       return m_indexItem;
00123     }

template<class TYP>
virtual const std::type_info& NTuple::_DataImp< TYP >::typeID (  )  const [inline, virtual, inherited]

Compiler type ID.

Implements INTupleItem.

Definition at line 125 of file NTupleItems.h.

00125 { return m_info;}

template<class TYP>
virtual void NTuple::_DataImp< TYP >::release (  )  [inline, virtual, inherited]

Destruct object.

Implements INTupleItem.

Definition at line 129 of file NTupleItems.h.

00129 { delete this; }

template<class TYP>
virtual bool NTuple::_DataImp< TYP >::hasIndex (  )  const [inline, virtual, inherited]

Is the tuple have an index column?

Implements INTupleItem.

Definition at line 131 of file NTupleItems.h.

00131 { return m_index.length()>0; }

template<class TYP>
virtual const std::string& NTuple::_DataImp< TYP >::index (  )  const [inline, virtual, inherited]

Access the index _Column.

Implements INTupleItem.

Definition at line 133 of file NTupleItems.h.

00133 { return m_index; }

template<class TYP>
virtual const std::string& NTuple::_DataImp< TYP >::name (  )  const [inline, virtual, inherited]

Access _Column name.

Implements INTupleItem.

Definition at line 135 of file NTupleItems.h.

00135 { return m_name; }

template<class TYP>
virtual long NTuple::_DataImp< TYP >::type (  )  const [inline, virtual, inherited]

TYP information of the item.

Implements INTupleItem.

Definition at line 137 of file NTupleItems.h.

00137 { return m_type; }

template<class TYP>
virtual void NTuple::_DataImp< TYP >::setType ( long  t  )  [inline, virtual, inherited]

Set the properties of the _Column.

Implements INTupleItem.

Definition at line 139 of file NTupleItems.h.

00139 { m_type=DataTypeInfo::Type(t); }

template<class TYP>
virtual long NTuple::_DataImp< TYP >::length (  )  const [inline, virtual, inherited]

Access the buffer length.

Implements INTupleItem.

Definition at line 145 of file NTupleItems.h.

00145 { return m_length; }

template<class TYP>
virtual const void* NTuple::_DataImp< TYP >::buffer (  )  const [inline, virtual, inherited]

Access data buffer (CONST).

Implements INTupleItem.

Definition at line 147 of file NTupleItems.h.

00147 { return this->m_buffer; }

template<class TYP>
virtual void* NTuple::_DataImp< TYP >::buffer (  )  [inline, virtual, inherited]

Access data buffer.

Definition at line 149 of file NTupleItems.h.

00149 { return this->m_buffer; }

template<class TYP>
virtual long NTuple::_DataImp< TYP >::ndim (  )  const [inline, virtual, inherited]

Dimension.

Implements INTupleItem.

Reimplemented in NTuple::_ArrayImp< TYP >, and NTuple::_MatrixImp< TYP >.

Definition at line 151 of file NTupleItems.h.

00151 { return 0; }

template<class TYP>
virtual long NTuple::_DataImp< TYP >::dim ( long  i  )  const [inline, virtual, inherited]

Access individual dimensions.

Implements INTupleItem.

Reimplemented in NTuple::_ArrayImp< TYP >, and NTuple::_MatrixImp< TYP >.

Definition at line 153 of file NTupleItems.h.

00153 { return (i==0) ? 1 : 0; }

template<class TYP>
virtual INTuple* NTuple::_DataImp< TYP >::tuple (  )  [inline, virtual, inherited]

Access to hosting ntuple.

Implements INTupleItem.

Definition at line 155 of file NTupleItems.h.

00155 { return m_tuple; }

template<class TYP>
static _Item* NTuple::_Item< TYP >::create ( INTuple tup,
const std::string &  name,
const std::type_info &  info,
TYP  min,
TYP  max,
TYP  def 
) [static, inherited]

Create instance.

template<class TYP>
void NTuple::_Item< TYP >::set ( const TYP &  item  )  [inline, inherited]

Access to data by reference.

Definition at line 143 of file NTuple.h.

00143 { *this->m_buffer = item;             }

template<class TYP>
virtual TYP NTuple::_Item< TYP >::get (  )  const [inline, virtual, inherited]

Access to data by reference (CONST).

Definition at line 145 of file NTuple.h.

00145 { return *this->m_buffer;             }


Member Data Documentation

template<class TYP>
long NTuple::_DataImp< TYP >::m_length [protected, inherited]

Entire buffer length.

Definition at line 47 of file NTupleItems.h.

template<class TYP>
INTuple* NTuple::_DataImp< TYP >::m_tuple [protected, inherited]

Pointer to N tuple.

Definition at line 49 of file NTupleItems.h.

template<class TYP>
std::string NTuple::_DataImp< TYP >::m_name [protected, inherited]

_Column name

Definition at line 51 of file NTupleItems.h.

template<class TYP>
std::string NTuple::_DataImp< TYP >::m_index [protected, inherited]

Check that values are within a certain range while filling.

Definition at line 53 of file NTupleItems.h.

template<class TYP>
INTupleItem* NTuple::_DataImp< TYP >::m_indexItem [mutable, protected, inherited]

Pointer to index item.

Definition at line 55 of file NTupleItems.h.

template<class TYP>
DataTypeInfo::Type NTuple::_DataImp< TYP >::m_type [protected, inherited]

_Column type

Definition at line 57 of file NTupleItems.h.

template<class TYP>
TYP NTuple::_DataImp< TYP >::m_def [protected, inherited]

Buffer with default value.

Definition at line 59 of file NTupleItems.h.

template<class TYP>
Range<TYP> NTuple::_DataImp< TYP >::m_range [protected, inherited]

Check that values are within a certain range while filling.

Definition at line 61 of file NTupleItems.h.

template<class TYP>
const std::type_info& NTuple::_DataImp< TYP >::m_info [protected, inherited]

Item type information.

Definition at line 63 of file NTupleItems.h.

template<class TYP>
TYP* NTuple::_Data< TYP >::m_buffer [protected, inherited]

Pointer to data buffer.

Definition at line 115 of file NTuple.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:19 2011 for GaudiKernel by doxygen 1.4.7