The Gaudi Framework  master (d98a2936)
NTupleItems.cpp
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
12 #include <GaudiKernel/DataObject.h>
14 
15 typedef const std::string& CSTR;
16 typedef const std::type_info& CTYPE;
17 
19 template <class TYP>
20 NTuple::_Item<TYP>* NTuple::_Item<TYP>::create( INTuple* tup, const std::string& name, const std::type_info& info,
21  TYP min, TYP max, TYP def ) {
22  return new _ItemImp<TYP>( tup, name, info, min, max, def );
23 }
24 
26 template <class TYP>
27 NTuple::_Array<TYP>* NTuple::_Array<TYP>::create( INTuple* tup, const std::string& name, const std::type_info& info,
28  const std::string& idx, long len, TYP min, TYP max, TYP def ) {
29  return new _ArrayImp<TYP>( tup, name, info, idx, len, min, max, def );
30 }
31 
33 template <class TYP>
34 NTuple::_Matrix<TYP>* NTuple::_Matrix<TYP>::create( INTuple* tup, const std::string& name, const std::type_info& info,
35  const std::string& idx, long ncol, long nrow, TYP min, TYP max,
36  TYP def ) {
37  return new _MatrixImp<TYP>( tup, name, info, idx, ncol, nrow, min, max, def );
38 }
39 
40 #define INSTANTIATE( TYP ) \
41  template class NTuple::_Item<TYP>; \
42  template class NTuple::_Array<TYP>; \
43  template class NTuple::_Matrix<TYP>;
44 // This makes the stuff accessible from outside
45 // (instruct the compiler to explicitly instantiate specific instances....)
46 INSTANTIATE( bool )
47 INSTANTIATE( char )
48 INSTANTIATE( unsigned char )
49 INSTANTIATE( short )
50 INSTANTIATE( unsigned short )
51 INSTANTIATE( int )
52 INSTANTIATE( unsigned int )
53 INSTANTIATE( long )
54 INSTANTIATE( long long )
55 INSTANTIATE( unsigned long )
56 INSTANTIATE( unsigned long long )
57 INSTANTIATE( float )
58 INSTANTIATE( double )
59 INSTANTIATE( void* )
61 INSTANTIATE( std::string )
62 
63 #undef INSTANTIATE
IOpaqueAddress
Definition: IOpaqueAddress.h:28
NTupleItems.h
CTYPE
const std::type_info & CTYPE
Definition: NTupleItems.cpp:16
CSTR
const std::string & CSTR
Definition: NTupleItems.cpp:15
NTuple::_Item
Abstract class describing a column in a N tuple.
Definition: NTuple.h:42
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:20
INSTANTIATE
#define INSTANTIATE(TYP)
Definition: NTupleItems.cpp:40
NTuple::_ArrayImp
Concrete class discribing a column-array in a N tuple.
Definition: NTupleItems.h:47
INTuple
Definition: INTuple.h:86
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:34
NTuple::_Array
Abstract class describing a column-array in a N tuple.
Definition: NTuple.h:44
ConditionsStallTest.name
name
Definition: ConditionsStallTest.py:77
NTuple::_MatrixImp
Concrete class discribing a matrix column in a N tuple.
Definition: NTupleItems.h:49
NTuple::_Matrix
Abstract class describing a matrix column in a N tuple.
Definition: NTuple.h:46
DataObject.h
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:27
ContainedObject.h
NTuple::_ItemImp
Concrete class discribing a column in a N tuple.
Definition: NTupleItems.h:45