| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

NTupleItems.cpp
Go to the documentation of this file.
1 //====================================================================
2 // NTuple name space implementation
3 //--------------------------------------------------------------------
4 //
5 // Package : Gaudi/NTupleSvc ( The LHCb Offline System)
6 // Author : M.Frank
7 //
8 // +---------+----------------------------------------------+--------+
9 // | Date | Comment | Who |
10 // +---------+----------------------------------------------+--------+
11 // | 21/10/99| Initial version. | MF |
12 // +---------+----------------------------------------------+--------+
13 //====================================================================
14 #define GAUDI_NTUPLEITEMS_CPP 1
15
16 // Framework include files
17 #include "GaudiKernel/NTupleItems.h"
18 #include "GaudiKernel/DataObject.h"
19 #include "GaudiKernel/ContainedObject.h"
20
21 typedef const std::string& CSTR;
22 typedef const std::type_info& CTYPE;
23
25 template <class TYP> NTuple::_Item<TYP>*
26 NTuple::_Item<TYP>::create(INTuple* tup,const std::string& name,const std::type_info& info,TYP min,TYP max,TYP def) {
27 return new _ItemImp<TYP>(tup, name, info, min, max, def);
28 }
29
31 template <class TYP> NTuple::_Array<TYP>*
32 NTuple::_Array<TYP>::create(INTuple* tup,const std::string& name,const std::type_info& info,const std::string& idx,long len,TYP min,TYP max,TYP def) {
33 return new _ArrayImp<TYP>(tup,name,info,idx,len,min,max,def);
34 }
35
37 template <class TYP> NTuple::_Matrix<TYP>*
38 NTuple::_Matrix<TYP>::create(INTuple* tup,const std::string& name,const std::type_info& info,const std::string& idx,
39 long ncol,long nrow,TYP min,TYP max,TYP def) {
40 return new _MatrixImp<TYP>(tup,name,info,idx,ncol,nrow,min,max,def);
41 }
42
43 #define INSTANTIATE(TYP) \
44 template class NTuple::_Item<TYP>;\
45 template class NTuple::_Array<TYP>;\
46 template class NTuple::_Matrix<TYP>;
47 // This makes the stuff accessible from outside
48 // (instruct the compiler to explicitly instantiate specific instances....)
49 INSTANTIATE(bool)
50 INSTANTIATE(char)
51 INSTANTIATE(unsigned char)
52 INSTANTIATE(short)
53 INSTANTIATE(unsigned short)
54 INSTANTIATE(int)
55 INSTANTIATE(unsigned int)
56 INSTANTIATE(long)
57 INSTANTIATE(long long)
58 INSTANTIATE(unsigned long)
59 INSTANTIATE(unsigned long long)
60 INSTANTIATE(float)
61 INSTANTIATE(double)
62 INSTANTIATE(void*)
63 INSTANTIATE(IOpaqueAddress*)
64 INSTANTIATE(std::string)
65
66 #undef INSTANTIATE
INSTANTIATE
#define INSTANTIATE(TYP)
Definition: NTupleItems.cpp:43
NTupleItems.h
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
NTuple::_Matrix
Abstract class describing a matrix column in a N tuple.
Definition: NTuple.h:40
NTuple::_Item
Abstract class describing a column in a N tuple.
Definition: NTuple.h:38
NTuple::_MatrixImp
Concrete class discribing a matrix column in a N tuple.
Definition: NTupleItems.h:34
std
STL namespace.
CTYPE
const std::type_info & CTYPE
Definition: NTupleItems.cpp:22
NTuple::_Array::create
static _Array * create(INTuple *tup, const std::string &name, const std::type_info &info, const std::string &index, long len, TYP min, TYP max, TYP def)
Create instance.
Definition: NTupleItems.cpp:32
std::type_info
std::string
STL class.
INTuple
NTuple interface class definition.
Definition: INTuple.h:79
NTuple::_ArrayImp
Concrete class discribing a column-array in a N tuple.
Definition: NTupleItems.h:33
CSTR
const std::string & CSTR
Definition: NTupleItems.cpp:21
NTuple::_ItemImp
Concrete class discribing a column in a N tuple.
Definition: NTupleItems.h:32
ContainedObject.h
NTuple::_Item::create
static _Item * create(INTuple *tup, const std::string &name, const std::type_info &info, TYP min, TYP max, TYP def)
Create instance.
Definition: NTupleItems.cpp:26
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
NTuple::_Matrix::create
static _Matrix * 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)
Create instance.
Definition: NTupleItems.cpp:38
DataObject.h
NTuple::_Array
Abstract class describing a column-array in a N tuple.
Definition: NTuple.h:39