CommonTools
Utils
src
LogicalBinaryOperator.h
Go to the documentation of this file.
1
#ifndef CommonTools_Utils_LogicalBinaryOperator_h
2
#define CommonTools_Utils_LogicalBinaryOperator_h
3
/* \class reco::parser::LogicalBinaryOperator
4
*
5
* logical AND combiner
6
*
7
* \author original version: Chris Jones, Cornell,
8
* adapted by Luca Lista, INFN
9
*
10
* \version $Revision: 1.2 $
11
*
12
*/
13
#include "
CommonTools/Utils/src/SelectorBase.h
"
14
#include "
CommonTools/Utils/src/SelectorStack.h
"
15
16
namespace
reco
{
17
namespace
parser
{
18
template
<
typename
Op>
19
struct
LogicalBinaryOperator
:
public
SelectorBase
{
20
LogicalBinaryOperator
(
SelectorStack
&selStack) {
21
rhs_
= selStack.back();
22
selStack.pop_back();
23
lhs_
= selStack.back();
24
selStack.pop_back();
25
}
26
bool
operator()
(
const
edm::ObjectWithDict
&
o
)
const override
;
27
28
private
:
29
Op
op_
;
30
SelectorPtr
lhs_
,
rhs_
;
31
};
32
33
template
<>
34
bool
LogicalBinaryOperator<std::logical_and<bool>
>
::operator
()(
const
edm::ObjectWithDict
&
o
)
const
;
35
template
<>
36
bool
LogicalBinaryOperator<std::logical_or<bool>
>
::operator
()(
const
edm::ObjectWithDict
&
o
)
const
;
37
}
// namespace parser
38
}
// namespace reco
39
40
#endif
reco::parser::LogicalBinaryOperator::operator()
bool operator()(const edm::ObjectWithDict &o) const override
return true if the object is selected
reco::parser::LogicalBinaryOperator::op_
Op op_
Definition:
LogicalBinaryOperator.h:29
SelectorStack.h
edm::ObjectWithDict
Definition:
ObjectWithDict.h:17
writedatasetfile.parser
parser
Definition:
writedatasetfile.py:7
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:46
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:42
Utilities.operator
operator
Definition:
Utilities.py:24
reco::parser::LogicalBinaryOperator::lhs_
SelectorPtr lhs_
Definition:
LogicalBinaryOperator.h:30
reco::parser::LogicalBinaryOperator
Definition:
LogicalBinaryOperator.h:19
reco::parser::LogicalBinaryOperator::rhs_
SelectorPtr rhs_
Definition:
LogicalBinaryOperator.h:30
reco::parser::SelectorPtr
std::shared_ptr< SelectorBase > SelectorPtr
Definition:
SelectorPtr.h:18
reco::parser::LogicalBinaryOperator::LogicalBinaryOperator
LogicalBinaryOperator(SelectorStack &selStack)
Definition:
LogicalBinaryOperator.h:20
reco::parser::SelectorBase
Definition:
SelectorBase.h:19
SelectorBase.h
reco::parser::SelectorStack
std::vector< SelectorPtr > SelectorStack
Definition:
SelectorStack.h:18
Generated for CMSSW Reference Manual by
1.8.16