ATLAS Offline Software
Loading...
Searching...
No Matches
xAODJetDict.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 XAODJET_XAODJETDICT_H
6#define XAODJET_XAODJETDICT_H
7
8// Local include(s).
9#include "xAODJet/Jet.h"
15
16#if !defined(SIMULATIONBASE) and !defined(GENERATIONBASE)
19#endif // not SIMULATIONBASE or GENERATIONBASE
20
21#include "xAODJet/JetTypes.h"
22
23// EDM include(s).
25
26// System include(s).
27#include <vector>
28
29// Instantiate all necessary types for the dictionary.
30namespace {
31 struct GCCXML_DUMMY_INSTANTIATION_XAODJET {
32 // Local type(s).
33 XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, JetContainer_v1 );
34 // Type(s) needed for the dictionary generation to succeed.
37 };
38}
39
41#define INST_JET_ATTRIB( TYPE ) \
42 template TYPE \
43 xAOD::Jet::getAttribute< TYPE >( xAOD::JetAttribute::AttributeID ) const; \
44 template TYPE xAOD::Jet::getAttribute< TYPE >( const std::string& ) const; \
45 template void \
46 xAOD::Jet::setAttribute< TYPE >( xAOD::JetAttribute::AttributeID, \
47 const TYPE& ); \
48 template void xAOD::Jet::setAttribute< TYPE >( const std::string&, \
49 const TYPE& )
50
53INST_JET_ATTRIB( std::vector< float > );
54INST_JET_ATTRIB( std::vector< int > );
56
57// Clean up.
58#undef INST_JET_ATTRIB
59
60template std::vector< const xAOD::IParticle* >
62template std::vector< const xAOD::IParticle* >
64template void
66 const std::vector< const xAOD::IParticle* >& );
67
68template const xAOD::IParticle*
70template const xAOD::IParticle*
72template void
74 const xAOD::IParticle* );
75
76#endif // XAODJET_XAODJETDICT_H
#define XAOD_INSTANTIATE_NS_CONTAINER_TYPES(NS, TYPE)
Macro instantiating all the container "interface" and smart pointer types that we need a dictionary f...
Definition DictHelpers.h:40
DataVector< IParticle > IParticleContainer
Class providing the definition of the 4-vector interface.
void setAssociatedObjects(const std::string &name, const std::vector< const T * > &vec)
set associated objects from a vector of arbitrary object.
std::vector< const T * > getAssociatedObjects(const std::string &name) const
get associated objects as a vector<object> this compact form throws an exception if the object is not...
void setAssociatedObject(const std::string &name, const T *vec)
set a single associated object T must inherit AuxElement (if T inherits IParticle,...
const T * getAssociatedObject(const std::string &name) const
get a single associated object this compact form throws an exception if the object is not existing
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition JetTypes.h:17
#define INST_JET_ATTRIB(TYPE)
Helper macro for instantiating the "attribute function(s)".
Definition xAODJetDict.h:41