NTupleItems.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #define GAUDI_NTUPLEITEMS_CPP 1
00016
00017
00018 #include "GaudiKernel/NTupleItems.h"
00019 #include "GaudiKernel/DataObject.h"
00020 #include "GaudiKernel/ContainedObject.h"
00021
00022 typedef const std::string& CSTR;
00023 typedef const std::type_info& CTYPE;
00024
00026 template <class TYP> NTuple::_Item<TYP>*
00027 NTuple::_Item<TYP>::create(INTuple* tup,const std::string& name,const std::type_info& info,TYP min,TYP max,TYP def) {
00028 _ItemImp<TYP>* result = new _ItemImp<TYP>(tup, name, info, min, max, def);
00029 return result;
00030 }
00031
00033 template <class TYP> NTuple::_Array<TYP>*
00034 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) {
00035 _ArrayImp<TYP>* result = new _ArrayImp<TYP>(tup,name,info,idx,len,min,max,def);
00036 return result;
00037 }
00038
00040 template <class TYP> NTuple::_Matrix<TYP>*
00041 NTuple::_Matrix<TYP>::create(INTuple* tup,const std::string& name,const std::type_info& info,const std::string& idx,
00042 long ncol,long nrow,TYP min,TYP max,TYP def) {
00043 _MatrixImp<TYP>* result = new _MatrixImp<TYP>(tup,name,info,idx,ncol,nrow,min,max,def);
00044 return result;
00045 }
00046
00047 #define INSTANTIATE(TYP) \
00048 template class NTuple::_Item<TYP>;\
00049 template class NTuple::_Array<TYP>;\
00050 template class NTuple::_Matrix<TYP>;
00051
00052
00053 INSTANTIATE(bool)
00054 INSTANTIATE(char)
00055 INSTANTIATE(unsigned char)
00056 INSTANTIATE(short)
00057 INSTANTIATE(unsigned short)
00058 INSTANTIATE(int)
00059 INSTANTIATE(unsigned int)
00060 INSTANTIATE(long)
00061 INSTANTIATE(unsigned long)
00062 INSTANTIATE(float)
00063 INSTANTIATE(double)
00064 INSTANTIATE(void*)
00065 INSTANTIATE(IOpaqueAddress*)
00066
00067
00068
00069
00070 INSTANTIATE(std::string)
00071
00072 #undef INSTANTIATE