ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
xAOD
xAODCore
xAODCore
AuxStoreAccessorMacros.h
Go to the documentation of this file.
1
// Dear emacs, this is -*- c++ -*-
2
3
/*
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// $Id: AuxStoreAccessorMacros.h 633587 2014-12-04 09:09:41Z ssnyder $
8
#ifndef XAODCORE_AUXSTOREACCESSORMACROS_H
9
#define XAODCORE_AUXSTOREACCESSORMACROS_H
10
36
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, \
37
SETTER) \
38
TYPE CL::NAME() const { \
39
static const SG::Accessor< TYPE > acc( #NAME ); \
40
return acc( *this ); \
41
} \
42
void CL::SETTER( TYPE value ) { \
43
static const SG::Accessor< TYPE > acc( #NAME ); \
44
acc( *this ) = value; \
45
return; \
46
}
47
59
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME ) \
60
TYPE CL::NAME() const { \
61
static const SG::Accessor< TYPE > acc( #NAME ); \
62
return acc( *this ); \
63
}
64
88
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER) \
89
AUXSTORE_OBJECT_SETTER_AND_GETTER_VARNAME(CL, TYPE, NAME, SETTER, NAME)
90
91
117
#define AUXSTORE_OBJECT_SETTER_AND_GETTER_VARNAME(CL, TYPE, NAME, SETTER, VARNAME) \
118
AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, VARNAME) \
119
void CL::SETTER( typename SG::Accessor< TYPE >::rhs_const_reference_type value ) { \
120
static const SG::Accessor< TYPE > acc( #VARNAME ); \
121
acc( *this ) = value; \
122
return; \
123
}
124
125
138
# define AUXSTORE_OBJECT_MOVE(CL, TYPE, NAME, SETTER) \
139
void CL::SETTER( typename SG::AuxDataTraits<TYPE>::element_type&& value ) { \
140
static const SG::Accessor< TYPE > acc( #NAME ); \
141
acc( *this ) = std::move(value); \
142
return; \
143
}
144
145
165
#define AUXSTORE_OBJECT_GETTER(CL, TYPE, NAME ) \
166
AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, NAME)
167
189
#define AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, VARNAME) \
190
typename SG::ConstAccessor< TYPE >::const_reference_type CL::NAME() const { \
191
static const SG::ConstAccessor< TYPE > acc( #VARNAME ); \
192
return acc( *this ); \
193
} \
194
195
209
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, \
210
NAME) \
211
TRANSTYPE CL::NAME() const { \
212
static const SG::Accessor< PERSTYPE > acc( #NAME ); \
213
return static_cast< TRANSTYPE >( acc( *this ) ); \
214
}
215
230
#define AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, \
231
NAME, SETTER) \
232
void CL::SETTER( TRANSTYPE value ) { \
233
static const SG::Accessor< PERSTYPE > acc( #NAME ); \
234
acc( *this ) = static_cast< PERSTYPE >( value ); \
235
return; \
236
}
237
238
#endif
// XAODCORE_AUXSTOREACCESSORMACROS_H
Generated on
for ATLAS Offline Software by
1.17.0