ATLAS Offline Software
AuxAccessorMacro.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef XAODTRACKING_AUXACCESSORMACRO_H
6 #define XAODTRACKING_AUXACCESSORMACRO_H
7 
8 /*
9 #define DEFINE_API(__TYPE, __GETTER, __SETTER) \
10  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(SurfaceBackend_v1, __TYPE, __GETTER, \
11  __SETTER) \
12  __TYPE* SurfaceBackend_v1::__GETTER##Ptr() { \
13  static const SG::AuxElement::Accessor<__TYPE> acc(#__GETTER); \
14  return &(acc(*this)); \
15  } \
16  const __TYPE* SurfaceBackend_v1::__GETTER##Ptr() const { \
17  static const SG::AuxElement::ConstAccessor<__TYPE> acc(#__GETTER); \
18  return &(acc(*this)); \
19  }
20 */
21 #define DEFINE_API(__CL, __TYPE, __GETTER, __SETTER) \
22  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(__CL, __TYPE, __GETTER, \
23  __SETTER) \
24  __TYPE* __CL::__GETTER##Ptr() { \
25  static const SG::AuxElement::Accessor<__TYPE> acc(#__GETTER); \
26  return &(acc(*this)); \
27  } \
28  const __TYPE* __CL::__GETTER##Ptr() const { \
29  static const SG::AuxElement::ConstAccessor<__TYPE> acc(#__GETTER); \
30  return &(acc(*this)); \
31  }
32 
33 #endif // XAODTRACKING_AUXACCESSORMACRO_H