ATLAS Offline Software
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"
15 
16 // Local include(s):
19 
20 // Instantiate all necessary types for the dictionary.
21 namespace {
22  struct GCCXML_DUMMY_INSTANTIATION_XAODBASE {
25  std::vector< DataLink< xAOD::IParticleContainer > > l2;
27  std::vector< ElementLink< xAOD::IParticleContainer > > l4;
28  std::vector< std::vector< ElementLink< xAOD::IParticleContainer > > > l5;
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 );
58 
59 // Clean up.
60 #undef INST_AUXFUNC
61 
62 #endif // XAODBASE_XAODBASEDICT_H
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
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:426
IParticleContainer.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
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:425