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(long long)
00062 INSTANTIATE(unsigned long)
00063 INSTANTIATE(unsigned long long)
00064 INSTANTIATE(float)
00065 INSTANTIATE(double)
00066 INSTANTIATE(void*)
00067 INSTANTIATE(IOpaqueAddress*)
00068
00069
00070
00071
00072 INSTANTIATE(std::string)
00073
00074 #undef INSTANTIATE