ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
JetTagging
JetH5Writer
src
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
37
IParticleWriterConfig::ArrayFormat
getArrayFormat
(
const
std::string& name) {
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
CHECK_TYPE
#define CHECK_TYPE(string, target)
Definition
AlgHelpers.cxx:8
getPrimitiveType
Primitive::Type getPrimitiveType(const std::string &name)
Definition
AlgHelpers.cxx:10
getArrayFormat
IParticleWriterConfig::ArrayFormat getArrayFormat(const std::string &name)
Definition
AlgHelpers.cxx:37
CHECK_FORMAT
#define CHECK_FORMAT(string, target)
Definition
AlgHelpers.cxx:35
AlgHelpers.h
IParticleWriterConfig::ArrayFormat
ArrayFormat
Definition
IParticleWriterConfig.h:27
Primitive::Type
Type
Definition
Primitive.h:11
Generated on
for ATLAS Offline Software by
1.17.0