Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
AlgHelpers.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #include "AlgHelpers.h"
5 
6 #include <stdexcept>
7 
8 #define CHECK_TYPE(string, target) \
9  if (string == #target) return Primitive::Type::target
10 Primitive::Type getPrimitiveType(const std::string& name) {
11  CHECK_TYPE(name, PRECISION_CUSTOM);
12  CHECK_TYPE(name, CUSTOM);
13  CHECK_TYPE(name, UCHAR);
14  CHECK_TYPE(name, CHAR);
15  CHECK_TYPE(name, USHORT);
16  CHECK_TYPE(name, SHORT);
17  CHECK_TYPE(name, UINT);
18  CHECK_TYPE(name, INT);
19  CHECK_TYPE(name, ULONG);
20  CHECK_TYPE(name, LONG);
21  CHECK_TYPE(name, ULL);
22  CHECK_TYPE(name, LL);
23  CHECK_TYPE(name, HALF);
24  CHECK_TYPE(name, FLOAT);
25  CHECK_TYPE(name, DOUBLE);
26  CHECK_TYPE(name, UINT2UCHAR);
27  CHECK_TYPE(name, INT2CHAR);
28  CHECK_TYPE(name, UINT2USHORT);
29  CHECK_TYPE(name, INT2SHORT);
30  CHECK_TYPE(name, UL2ULL);
31  throw std::domain_error("unknown type " + name);
32 }
33 #undef CHECK_TYPE
34 
35 #define CHECK_FORMAT(string, target) \
36 if (string == #target) return IParticleWriterConfig::ArrayFormat::target
38  CHECK_FORMAT(name, AWKWARD);
39  CHECK_FORMAT(name, FLAT);
40  CHECK_FORMAT(name, PADDED);
41  throw std::domain_error("unknown format " + name);
42 }
43 
44 
getArrayFormat
IParticleWriterConfig::ArrayFormat getArrayFormat(const std::string &name)
Definition: AlgHelpers.cxx:37
IParticleWriterConfig::ArrayFormat
ArrayFormat
Definition: IParticleWriterConfig.h:27
AlgHelpers.h
CHECK_FORMAT
#define CHECK_FORMAT(string, target)
Definition: AlgHelpers.cxx:35
CHECK_TYPE
#define CHECK_TYPE(string, target)
Definition: AlgHelpers.cxx:8
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Primitive::Type
Type
Definition: Primitive.h:11
getPrimitiveType
Primitive::Type getPrimitiveType(const std::string &name)
Definition: AlgHelpers.cxx:10