CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LogicalUnaryOperator.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_LogicalUnaryOperator_h
2 #define CommonTools_Utils_LogicalUnaryOperator_h
3 /* \class reco::parser::LogicalUnaryOperator
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  */
15 
16 namespace reco {
17  namespace parser {
18  template <typename Op>
21  rhs_ = selStack.back();
22  selStack.pop_back();
23  }
24  bool operator()(const edm::ObjectWithDict& o) const override { return op_((*rhs_)(o)); }
25 
26  private:
27  Op op_;
29  };
30  } // namespace parser
31 } // namespace reco
32 
33 #endif
std::vector< SelectorPtr > SelectorStack
Definition: SelectorStack.h:18
bool operator()(const edm::ObjectWithDict &o) const override
return true if the object is selected
LogicalUnaryOperator(SelectorStack &selStack)
std::shared_ptr< SelectorBase > SelectorPtr
Definition: SelectorPtr.h:18