ATLAS Offline Software
Event
xAOD
xAODBase
xAODBase
xAODBaseDict.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
/*
3
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4
*/
5
#ifndef XAODBASE_XAODBASEDICT_H
6
#define XAODBASE_XAODBASEDICT_H
7
8
// STL include(s):
9
#include <vector>
10
11
// EDM include(s):
12
#include "AthLinks/DataLink.h"
13
#include "AthLinks/ElementLink.h"
14
#include "
AthContainers/tools/AuxTypeVectorFactory.h
"
15
16
// Local include(s):
17
#include "
xAODBase/IParticleContainer.h
"
18
#include "
xAODBase/IParticleHelpers.h
"
19
20
// Instantiate all necessary types for the dictionary.
21
namespace
{
22
struct
GCCXML_DUMMY_INSTANTIATION_XAODBASE {
23
xAOD::IParticleContainer
c1
;
24
DataLink< xAOD::IParticleContainer >
l1
;
25
std::vector< DataLink< xAOD::IParticleContainer > >
l2
;
26
ElementLink< xAOD::IParticleContainer >
l3;
27
std::vector< ElementLink< xAOD::IParticleContainer > > l4;
28
std::vector< std::vector< ElementLink< xAOD::IParticleContainer > > > l5;
29
SG::AuxTypeVectorFactory< DataLink< xAOD::IParticleContainer >
> l6;
30
SG::AuxTypeVectorFactory< ElementLink< xAOD::IParticleContainer >
> l7;
31
SG::AuxTypeVectorFactory< std::vector< ElementLink< xAOD::IParticleContainer >
> > l8;
32
};
33
}
34
35
// Not sure if this line is necessary but it shouldn't hurt...
36
template
class
DataVector<xAOD::IParticle>
;
37
40
#define INST_AUXFUNC( TYPE ) \
41
template TYPE& \
42
xAOD::IParticle::auxdata< TYPE >( const std::string& name, \
43
const std::string& clsname = "" ); \
44
template const TYPE& \
45
xAOD::IParticle::auxdata< TYPE >( const std::string& name, \
46
const std::string& clsname = "" ) const; \
47
template bool \
48
xAOD::IParticle::isAvailable< TYPE >( const std::string& name, \
49
const std::string& clsname = "" ) const
50
51
// Instantiate the functions for a couple of regularly used types.
52
INST_AUXFUNC
(
bool
);
53
INST_AUXFUNC
(
float
);
54
INST_AUXFUNC
(
double
);
55
INST_AUXFUNC
(
int
);
56
INST_AUXFUNC
(
unsigned
int
);
57
INST_AUXFUNC
(
uint8_t
);
58
59
// Clean up.
60
#undef INST_AUXFUNC
61
62
#endif // XAODBASE_XAODBASEDICT_H
xAOD::uint8_t
uint8_t
Definition:
Muon_v1.cxx:557
SG::AuxTypeVectorFactory
Factory object that creates vectors using AuxTypeVector.
Definition:
AuxTypeVectorFactory.h:219
AuxTypeVectorFactory.h
Factory object that creates vectors using AuxTypeVector.
extractSporadic.c1
c1
Definition:
extractSporadic.py:134
skel.l2
l2
Definition:
skel.GENtoEVGEN.py:399
DataLink
Object reference supporting deferred reading from StoreGate.
Definition:
AthLinks/DataLink.h:95
IParticleContainer.h
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
ElementLink< xAOD::IParticleContainer >
INST_AUXFUNC
#define INST_AUXFUNC(TYPE)
Helper macro for instantiating all the template functions that we need a dictionary for.
Definition:
xAODBaseDict.h:40
IParticleHelpers.h
skel.l1
l1
Definition:
skel.GENtoEVGEN.py:398
Generated on Thu Nov 7 2024 21:31:57 for ATLAS Offline Software by
1.8.18