ATLAS Offline Software
Event
xAOD
xAODCore
xAODCore
tools
DictHelpers.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
//
3
// Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4
//
5
#ifndef XAODCORE_TOOLS_DICTHELPERS_H
6
#define XAODCORE_TOOLS_DICTHELPERS_H
7
8
// EDM include(s).
9
#include "AthLinks/DataLink.h"
10
#include "AthLinks/ElementLink.h"
11
#include "
AthContainers/tools/AuxTypeVectorFactory.h
"
12
13
// System include(s).
14
#include <vector>
15
16
#ifdef XAOD_STANDALONE
17
# define XAOD_BASEINFO_TYPE(TYPE) int
18
#else
19
# define XAOD_BASEINFO_TYPE(TYPE) SG::BaseInfo<TYPE>
20
#endif
21
24
#define XAOD_INSTANTIATE_CONTAINER_TYPES( TYPE ) \
25
TYPE dummy_##TYPE##_1; \
26
DataLink< TYPE > dummy_##TYPE##_2; \
27
ElementLink< TYPE > dummy_##TYPE##_3; \
28
std::vector< DataLink< TYPE > > dummy_##TYPE##_4; \
29
std::vector< ElementLink< TYPE > > dummy_##TYPE##_5; \
30
std::vector< std::vector< ElementLink< TYPE > > > dummy_##TYPE##_6; \
31
SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_7; \
32
SG::AuxTypeVectorFactory< ElementLink< TYPE > > dummy_##TYPE##_8; \
33
SG::AuxTypeVectorFactory< std::vector< ElementLink< TYPE > > > \
34
dummy_##TYPE##_9; \
35
XAOD_BASEINFO_TYPE(TYPE) dummy_##TYPE##_10; \
36
DataVectorBase< TYPE::base_value_type > dummy_##TYPE##_11
37
40
#define XAOD_INSTANTIATE_NS_CONTAINER_TYPES( NS, TYPE ) \
41
NS::TYPE dummy_##NS##_##TYPE##_1; \
42
DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \
43
ElementLink< NS::TYPE > dummy_##NS##_##TYPE##_3; \
44
std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4; \
45
std::vector< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_5; \
46
std::vector< std::vector< ElementLink< NS::TYPE > > > \
47
dummy_##NS##_##TYPE##_6; \
48
SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_7; \
49
SG::AuxTypeVectorFactory< ElementLink< NS::TYPE > > dummy_##NS##_##TYPE##_8;\
50
SG::AuxTypeVectorFactory< std::vector< ElementLink< NS::TYPE > > > \
51
dummy_##NS##_##TYPE##_9; \
52
XAOD_BASEINFO_TYPE(NS::TYPE) dummy_##NS##_##TYPE##_10; \
53
DataVectorBase< NS::TYPE::base_value_type > dummy_##NS##_##TYPE##_11
54
57
#define XAOD_INSTANTIATE_OBJECT_TYPES( TYPE ) \
58
TYPE dummy_##TYPE##_1; \
59
DataLink< TYPE > dummy_##TYPE##_2; \
60
std::vector< DataLink< TYPE > > dummy_##TYPE##_3; \
61
SG::AuxTypeVectorFactory< DataLink< TYPE > > dummy_##TYPE##_4
62
65
#define XAOD_INSTANTIATE_NS_OBJECT_TYPES( NS, TYPE ) \
66
NS::TYPE dummy_##NS##_##TYPE##_1; \
67
DataLink< NS::TYPE > dummy_##NS##_##TYPE##_2; \
68
std::vector< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_3; \
69
SG::AuxTypeVectorFactory< DataLink< NS::TYPE > > dummy_##NS##_##TYPE##_4
70
71
#endif // XAODCORE_TOOLS_DICTHELPERS_H
AuxTypeVectorFactory.h
Factory object that creates vectors using AuxTypeVector.
Generated on Thu Nov 7 2024 21:13:41 for ATLAS Offline Software by
1.8.18