CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes
ExpressionAST Struct Reference

#include <TrackerDetIdSelector.h>

Public Types

typedef boost::variant< Nil, int, std::string, boost::recursive_wrapper< ExpressionAST >, boost::recursive_wrapper< BinaryOP >, boost::recursive_wrapper< UnaryOP > > Type
 

Public Member Functions

int evaluate (const DetId &detId, const TrackerTopology &trackerTopology) const
 
 ExpressionAST ()
 
template<typename Expr >
 ExpressionAST (Expr const &expr)
 
ExpressionASToperator! ()
 

Public Attributes

Type expr
 

Detailed Description

Definition at line 27 of file TrackerDetIdSelector.h.

Member Typedef Documentation

typedef boost::variant< Nil, int, std::string, boost::recursive_wrapper<ExpressionAST>, boost::recursive_wrapper<BinaryOP>, boost::recursive_wrapper<UnaryOP> > ExpressionAST::Type

Definition at line 39 of file TrackerDetIdSelector.h.

Constructor & Destructor Documentation

ExpressionAST::ExpressionAST ( )
inline

Definition at line 41 of file TrackerDetIdSelector.h.

41  :
42  expr(Nil())
43  {
44  }
template<typename Expr >
ExpressionAST::ExpressionAST ( Expr const &  expr)
inline

Definition at line 47 of file TrackerDetIdSelector.h.

47  :
48  expr(expr)
49  {
50  }

Member Function Documentation

int ExpressionAST::evaluate ( const DetId detId,
const TrackerTopology trackerTopology 
) const

Definition at line 377 of file TrackerDetIdSelector.h.

References jets_cff::expr.

Referenced by BinaryOP::evaluate(), UnaryOP::evaluate(), Accessor::operator()(), and TrackerDetIdSelector::passSelection().

378 {
379  return boost::apply_visitor(Accessor(detId,trackerTopology),this->expr);
380 }
ExpressionAST & ExpressionAST::operator! ( )

Definition at line 148 of file TrackerDetIdSelector.cc.

References expr, and UnaryOP::NEG.

149 {
151  return *this;
152 }

Member Data Documentation

Type ExpressionAST::expr

Definition at line 56 of file TrackerDetIdSelector.h.

Referenced by operator!(), and WalkAST::operator()().