ATLAS Offline Software
Macros | Functions
AlgHelpers.cxx File Reference
#include "AlgHelpers.h"
#include <stdexcept>
Include dependency graph for AlgHelpers.cxx:

Go to the source code of this file.

Macros

#define CHECK_TYPE(string, target)   if (string == #target) return Primitive::Type::target
 
#define CHECK_FORMAT(string, target)   if (string == #target) return IParticleWriterConfig::ArrayFormat::target
 

Functions

Primitive::Type getPrimitiveType (const std::string &name)
 
IParticleWriterConfig::ArrayFormat getArrayFormat (const std::string &name)
 

Macro Definition Documentation

◆ CHECK_FORMAT

#define CHECK_FORMAT (   string,
  target 
)    if (string == #target) return IParticleWriterConfig::ArrayFormat::target

Definition at line 36 of file AlgHelpers.cxx.

◆ CHECK_TYPE

#define CHECK_TYPE (   string,
  target 
)    if (string == #target) return Primitive::Type::target

Definition at line 9 of file AlgHelpers.cxx.

Function Documentation

◆ getArrayFormat()

IParticleWriterConfig::ArrayFormat getArrayFormat ( const std::string &  name)

Definition at line 37 of file AlgHelpers.cxx.

37  {
38  CHECK_FORMAT(name, AWKWARD);
39  CHECK_FORMAT(name, FLAT);
40  CHECK_FORMAT(name, PADDED);
41  throw std::domain_error("unknown format " + name);
42 }

◆ getPrimitiveType()

Primitive::Type getPrimitiveType ( const std::string &  name)

Definition at line 10 of file AlgHelpers.cxx.

10  {
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 }
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:221