ATLAS Offline Software
PyStoreUtils.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // PyStoreUtils.h
8 // Header file for a few C++ meta utils
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef PERFMONEVENT_PYSTOREUTILS_H
12 #define PERFMONEVENT_PYSTOREUTILS_H
13 
14 // STL includes
15 #include <string>
16 #include <vector>
17 #include <list>
18 #include <utility> // for std::pair
19 
20 namespace Py {
21 
22 template<typename T>
23 struct cpp_typeinfo {};
24 
25 template<typename T, typename U>
26 struct cpp_typeinfo< std::pair<T,U> >
27 {
28  static const char name = '(';
29 };
30 
31 template<typename T>
32 struct cpp_typeinfo< std::vector<T> >
33 {
34  static const char name = '[';
35 };
36 
37 template<typename T>
38 struct cpp_typeinfo< std::list<T> >
39 {
40  static const char name = '[';
41 };
42 
43 template<>
44 struct cpp_typeinfo<std::string>
45 {
46  static const char name = 's';
47 };
48 
49 template<>
51 {
52  static const char name = 'b';
53 };
54 
55 template<>
57 {
58  static const char name = 'd';
59 };
60 
61 template<>
63 {
64  static const char name = 'f';
65 };
66 
67 template<>
68 struct cpp_typeinfo<int>
69 {
70  static const char name = 'i';
71 };
72 
73 template<>
75 {
76  static const char name = 'h';
77 };
78 
79 template<>
81 {
82  static const char name = 'I';
83 };
84 
85 template<>
86 struct cpp_typeinfo<long int>
87 {
88  static const char name = 'l';
89 };
90 
91 template<>
92 struct cpp_typeinfo<unsigned long>
93 {
94  static const char name = 'k';
95 };
96 
97 } // end namespace Py
98 
99 
100 #endif // PERFMONEVENT_PYSTOREUTILS_H
xAOD::short
short
Definition: Vertex_v1.cxx:165
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
xAOD::unsigned
unsigned
Definition: RingSetConf_v1.cxx:662
vector
Definition: MultiHisto.h:13
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
Py
Definition: PyDataStore.h:24
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Py::cpp_typeinfo
Definition: PyStoreUtils.h:23
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
readCCLHist.float
float
Definition: readCCLHist.py:83