CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
AndCombiner.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_AndCombiner_h
2 #define CommonTools_Utils_AndCombiner_h
3 /* \class reco::parser::AndCombiner
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  struct AndCombiner : public SelectorBase {
19  AndCombiner(SelectorPtr lhs, SelectorPtr rhs) : lhs_(lhs), rhs_(rhs) {}
20  bool operator()(const edm::ObjectWithDict& o) const override { return (*lhs_)(o) && (*rhs_)(o); }
21 
22  private:
24  };
25  } // namespace parser
26 } // namespace reco
27 
28 #endif
AndCombiner(SelectorPtr lhs, SelectorPtr rhs)
Definition: AndCombiner.h:19
bool operator()(const edm::ObjectWithDict &o) const override
return true if the object is selected
Definition: AndCombiner.h:20
std::shared_ptr< SelectorBase > SelectorPtr
Definition: SelectorPtr.h:18