CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Friends
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
 

Friends

ExpressionAST operator && (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator!= (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator< (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator<= (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator== (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator> (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator>= (ExpressionAST const &lhs, ExpressionAST const &rhs)
 
ExpressionAST operator|| (ExpressionAST const &lhs, ExpressionAST const &rhs)
 

Detailed Description

Definition at line 32 of file TrackerDetIdSelector.h.

Member Typedef Documentation

◆ Type

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() [1/2]

ExpressionAST::ExpressionAST ( )
inline

Definition at line 41 of file TrackerDetIdSelector.h.

◆ ExpressionAST() [2/2]

template<typename Expr >
ExpressionAST::ExpressionAST ( Expr const &  expr)
inline

Definition at line 44 of file TrackerDetIdSelector.h.

Member Function Documentation

◆ evaluate()

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

Definition at line 235 of file TrackerDetIdSelector.h.

References expr.

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

235  {
236  return boost::apply_visitor(Accessor(detId, trackerTopology), this->expr);
237 }

◆ operator!()

ExpressionAST & ExpressionAST::operator! ( )

Definition at line 117 of file TrackerDetIdSelector.cc.

References expr, and UnaryOP::NEG.

117  {
119  return *this;
120 }

Friends And Related Function Documentation

◆ operator &&

ExpressionAST operator&& ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 68 of file TrackerDetIdSelector.h.

68  {
69  return detail::opAnd(lhs, rhs);
70  }
ExpressionAST opAnd(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator!=

ExpressionAST operator!= ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 59 of file TrackerDetIdSelector.h.

59  {
60  return detail::opNotEq(lhs, rhs);
61  }
ExpressionAST opNotEq(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator<

ExpressionAST operator< ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 62 of file TrackerDetIdSelector.h.

62  {
63  return detail::opLesser(lhs, rhs);
64  }
ExpressionAST opLesser(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator<=

ExpressionAST operator<= ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 65 of file TrackerDetIdSelector.h.

65  {
66  return detail::opLesserEq(lhs, rhs);
67  }
ExpressionAST opLesserEq(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator==

ExpressionAST operator== ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 58 of file TrackerDetIdSelector.h.

58 { return detail::opEq(lhs, rhs); }
ExpressionAST opEq(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator>

ExpressionAST operator> ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 52 of file TrackerDetIdSelector.h.

52  {
53  return detail::opGreater(lhs, rhs);
54  }
ExpressionAST opGreater(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator>=

ExpressionAST operator>= ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 55 of file TrackerDetIdSelector.h.

55  {
56  return detail::opGreaterEq(lhs, rhs);
57  }
ExpressionAST opGreaterEq(ExpressionAST const &lhs, ExpressionAST const &rhs)

◆ operator||

ExpressionAST operator|| ( ExpressionAST const &  lhs,
ExpressionAST const &  rhs 
)
friend

Definition at line 71 of file TrackerDetIdSelector.h.

71 { return detail::opOr(lhs, rhs); }
ExpressionAST opOr(ExpressionAST const &lhs, ExpressionAST const &rhs)

Member Data Documentation

◆ expr

Type ExpressionAST::expr

Definition at line 50 of file TrackerDetIdSelector.h.

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