ATLAS Offline Software
Loading...
Searching...
No Matches
TraitDefs.h File Reference
Include dependency graph for TraitDefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TrigMatch::DirectAttached
struct  TrigMatch::AncestorAttached
struct  TrigMatch::ClassTraits< T >
struct  TrigMatch::MetricTraits< T, U >
struct  TrigMatch::MetricTraits< egamma, egamma >

Namespaces

namespace  TrigMatch
 helper namespace for calculating deltaR for unknown object types
namespace  Analysis
 The namespace of all packages in PhysicsAnalysis/JetTagging.

Macros

#define SPECIALIZE_CONTAINER_FOR_CLASS(x, y)
#define DECLARE_ATTACHED_CONTAINER(x, y)
#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a, x, y)
#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a, x, y)
#define DECLARE_ATTACHED_CONTAINER_TYPEDEF(a, x, y)
#define DECLARE_L1_TRIGGER_OBJECT(x)
#define DECLARE_DEFAULT_METRIC(x, y, z)
#define DECLARE_DEFAULT_METRIC_PAIR(x, y, z)
#define DECLARE_DEFALUT_METRIC_SINGLE(x, z)

Macro Definition Documentation

◆ DECLARE_ATTACHED_CONTAINER

#define DECLARE_ATTACHED_CONTAINER ( x,
y )
Value:
class x; \
class y; \
SPECIALIZE_CONTAINER_FOR_CLASS(x,y)
#define y
#define x

Definition at line 58 of file TraitDefs.h.

58#define DECLARE_ATTACHED_CONTAINER(x,y) \
59 class x; \
60 class y; \
61 SPECIALIZE_CONTAINER_FOR_CLASS(x,y)

◆ DECLARE_ATTACHED_CONTAINER_NAMESPACE

#define DECLARE_ATTACHED_CONTAINER_NAMESPACE ( a,
x,
y )
Value:
namespace a { \
class x; \
class y; \
} \
SPECIALIZE_CONTAINER_FOR_CLASS(a::x,a::y)
static Double_t a

Definition at line 66 of file TraitDefs.h.

66#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a,x,y) \
67 namespace a { \
68 class x; \
69 class y; \
70 } \
71 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,a::y)

◆ DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE

#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE ( a,
x,
y )
Value:
namespace a { \
class x; \
} \
class y; \
SPECIALIZE_CONTAINER_FOR_CLASS(a::x,y)

Definition at line 76 of file TraitDefs.h.

76#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a,x,y) \
77 namespace a { \
78 class x; \
79 } \
80 class y; \
81 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,y)

◆ DECLARE_ATTACHED_CONTAINER_TYPEDEF

#define DECLARE_ATTACHED_CONTAINER_TYPEDEF ( a,
x,
y )
Value:
namespace a { \
class x; \
} \
SPECIALZE_CONTAINER_FOR_CLASS(a::x, y)

Definition at line 86 of file TraitDefs.h.

86#define DECLARE_ATTACHED_CONTAINER_TYPEDEF(a, x, y) \
87 namespace a { \
88 class x; \
89 } \
90 SPECIALZE_CONTAINER_FOR_CLASS(a::x, y)

◆ DECLARE_DEFALUT_METRIC_SINGLE

#define DECLARE_DEFALUT_METRIC_SINGLE ( x,
z )
Value:
namespace TrigMatch { \
template<> \
struct MetricTraits<x,x> { \
typedef z<x,x> type; \
}; \
}
#define z
helper namespace for calculating deltaR for unknown object types

Definition at line 186 of file TraitDefs.h.

186#define DECLARE_DEFALUT_METRIC_SINGLE(x,z) \
187 namespace TrigMatch { \
188 template<> \
189 struct MetricTraits<x,x> { \
190 typedef z<x,x> type; \
191 }; \
192 }

◆ DECLARE_DEFAULT_METRIC

#define DECLARE_DEFAULT_METRIC ( x,
y,
z )
Value:
class x; \
namespace TrigMatch { \
template<typename U> \
struct MetricTraits<x,U> { \
typedef y<U> type; \
}; \
template<typename U> \
struct MetricTraits<U,x> {\
typedef z<U> type; \
}; \
}

Definition at line 157 of file TraitDefs.h.

157#define DECLARE_DEFAULT_METRIC(x, y, z) \
158 class x; \
159 namespace TrigMatch { \
160 template<typename U> \
161 struct MetricTraits<x,U> { \
162 typedef y<U> type; \
163 }; \
164 template<typename U> \
165 struct MetricTraits<U,x> {\
166 typedef z<U> type; \
167 }; \
168 }

◆ DECLARE_DEFAULT_METRIC_PAIR

#define DECLARE_DEFAULT_METRIC_PAIR ( x,
y,
z )
Value:
namespace TrigMatch { \
template<> \
struct MetricTraits<x,y> { \
typedef z<x,y> type; \
}; \
template<> \
struct MetricTraits<y,x> { \
typedef z<y,x> type; \
}; \
}

Definition at line 172 of file TraitDefs.h.

172#define DECLARE_DEFAULT_METRIC_PAIR(x,y,z) \
173 namespace TrigMatch { \
174 template<> \
175 struct MetricTraits<x,y> { \
176 typedef z<x,y> type; \
177 }; \
178 template<> \
179 struct MetricTraits<y,x> { \
180 typedef z<y,x> type; \
181 }; \
182 }

◆ DECLARE_L1_TRIGGER_OBJECT

#define DECLARE_L1_TRIGGER_OBJECT ( x)
Value:
class x; \
namespace TrigMatch { \
template<> \
struct ClassTraits<x> { \
typedef AncestorAttached type; \
}; \
}

Definition at line 126 of file TraitDefs.h.

126#define DECLARE_L1_TRIGGER_OBJECT(x) \
127 class x; \
128 namespace TrigMatch { \
129 template<> \
130 struct ClassTraits<x> { \
131 typedef AncestorAttached type; \
132 }; \
133 }

◆ SPECIALIZE_CONTAINER_FOR_CLASS

#define SPECIALIZE_CONTAINER_FOR_CLASS ( x,
y )
Value:
namespace TrigMatch { \
template<> \
struct ClassTraits<x> { \
typedef y type; \
}; \
}

Definition at line 48 of file TraitDefs.h.

48#define SPECIALIZE_CONTAINER_FOR_CLASS(x,y) \
49 namespace TrigMatch { \
50 template<> \
51 struct ClassTraits<x> { \
52 typedef y type; \
53 }; \
54 }