ATLAS Offline Software
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
EventSelectionAlgorithms
EventSelectionAlgorithms
SignEnums.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
#ifndef EVENT_SELECTOR_SIGN_ENUMS_H
8
#define EVENT_SELECTOR_SIGN_ENUMS_H
9
10
#include <stdexcept>
11
#include <map>
12
14
15
namespace
SignEnum
{
16
18
enum
ComparisonOperator
{
19
LT
,
20
GT
,
21
EQ
,
22
GE
,
23
LE
24
};
25
27
static
const
std::map<std::string, ComparisonOperator>
stringToOperator
= {
28
{
"LT"
,
ComparisonOperator::LT
},
// <
29
{
"GT"
,
ComparisonOperator::GT
},
// >
30
{
"EQ"
,
ComparisonOperator::EQ
},
// ==
31
{
"GE"
,
ComparisonOperator::GE
},
// >=
32
{
"LE"
,
ComparisonOperator::LE
}
// <=
33
};
34
36
template
<
typename
T>
37
bool
checkValue
(T
reference
,
ComparisonOperator
sign
, T test) {
38
switch
(
sign
) {
39
case
ComparisonOperator::LT
:
40
return
test <
reference
;
41
case
ComparisonOperator::GT
:
42
return
test >
reference
;
43
case
ComparisonOperator::EQ
:
44
return
test ==
reference
;
45
case
ComparisonOperator::GE
:
46
return
test >=
reference
;
47
case
ComparisonOperator::LE
:
48
return
test <=
reference
;
49
}
50
throw
std::runtime_error(
"SignEnum::checkValue did not recognise the sign argument! Make sure it is listed within SignEnum::ComparisonOperator."
);
51
}
52
53
}
// namespace SignEnum
54
55
#endif
// EVENT_SELECTOR_SIGN_ENUMS_H
sign
int sign(int a)
Definition
TRT_StrawNeighbourSvc.h:108
reference
Definition
hcg.cxx:438
SignEnum
the conversion key for comparison operators for Event Selection Algorithms
Definition
SignEnums.h:15
SignEnum::checkValue
bool checkValue(T reference, ComparisonOperator sign, T test)
the comparison test given the specified sign and two test values
Definition
SignEnums.h:37
SignEnum::ComparisonOperator
ComparisonOperator
all possible comparison user inputs
Definition
SignEnums.h:18
SignEnum::LT
@ LT
Definition
SignEnums.h:19
SignEnum::GE
@ GE
Definition
SignEnums.h:22
SignEnum::LE
@ LE
Definition
SignEnums.h:23
SignEnum::GT
@ GT
Definition
SignEnums.h:20
SignEnum::EQ
@ EQ
Definition
SignEnums.h:21
SignEnum::stringToOperator
static const std::map< std::string, ComparisonOperator > stringToOperator
the map between user inputs and comparison operators
Definition
SignEnums.h:27
Generated on
for ATLAS Offline Software by
1.14.0