CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 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 evaluate(), operator!(), and WalkAST::operator()().