/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
CommonTools/Utils/src/ExpressionCondition.h
40 строк
1 KB
Christopher Jones
Move parser related headers to interface subdirectory
21 июл 2023, 16:43
21 июл 2023, 16:43
c1ad033
Код
Авторство
О чём код?
#ifndef CommonTools_Utils_ExpressionCondition_h #define CommonTools_Utils_ExpressionCondition_h /* \class reco::parser::ExpressionCondition * * Unary Operator expression * * \author original version: Chris Jones, Cornell, * adapted by Luca Lista, INFN * * \version $Revision: 1.2 $ * */ #include "CommonTools/Utils/interface/parser/ExpressionBase.h" #include "CommonTools/Utils/interface/parser/SelectorBase.h" #include "CommonTools/Utils/interface/parser/SelectorStack.h" #include "CommonTools/Utils/interface/parser/ExpressionStack.h" namespace reco { namespace parser { struct ExpressionCondition : public ExpressionBase { double value(const edm::ObjectWithDict& o) const override { return (*cond_)(o) ? true_->value(o) : false_->value(o); } ExpressionCondition(ExpressionStack& expStack, SelectorStack& selStack) { false_ = expStack.back(); expStack.pop_back(); true_ = expStack.back(); expStack.pop_back(); cond_ = selStack.back(); selStack.pop_back(); } private: ExpressionPtr true_, false_; SelectorPtr cond_; }; } // namespace parser } // namespace reco #endif