CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
TrackerDetIdSelectorGrammar< ITERATOR > Struct Template Reference

#include <TrackerDetIdSelector.h>

Inheritance diagram for TrackerDetIdSelectorGrammar< ITERATOR >:

Public Member Functions

 TrackerDetIdSelectorGrammar ()
 

Public Attributes

boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type, boost::spirit::qi::locals< ExpressionAST > > comboRule
 
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type > expressionRule
 
boost::spirit::qi::rule< ITERATOR, std::string(), boost::spirit::ascii::space_type > identifierFctRule
 
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type > identifierRule
 

Detailed Description

template<typename ITERATOR>
struct TrackerDetIdSelectorGrammar< ITERATOR >

Definition at line 218 of file TrackerDetIdSelector.h.

Constructor & Destructor Documentation

◆ TrackerDetIdSelectorGrammar()

template<typename ITERATOR>
TrackerDetIdSelectorGrammar< ITERATOR >::TrackerDetIdSelectorGrammar ( )
inline

Definition at line 230 of file TrackerDetIdSelector.h.

230  : TrackerDetIdSelectorGrammar::base_type(comboRule) {
231  namespace qi = boost::spirit::qi;
232  namespace ascii = boost::spirit::ascii;
233  namespace phoenix = boost::phoenix;
234 
235  identifierFctRule = qi::lexeme[+qi::alpha[qi::_val += qi::_1]];
236 
237  identifierRule = (qi::true_[qi::_val = 1] | qi::false_[qi::_val = 0]) | (qi::int_[qi::_val = qi::_1]) |
238  identifierFctRule[qi::_val = qi::_1];
239 
240  comboRule = (expressionRule[qi::_a = qi::_1] >>
241  *((qi::lit("&&") >> expressionRule[qi::_a = qi::_a && qi::_1]) |
242  (qi::lit("||") >> expressionRule[qi::_a = qi::_a || qi::_1])))[qi::_val = qi::_a];
243 
244  expressionRule = qi::lit("(") >> comboRule[qi::_val = qi::_1] >> qi::lit(")") |
245  (identifierRule >> qi::lit(">") >> identifierRule)[qi::_val = qi::_1 > qi::_2] |
246  (identifierRule >> qi::lit(">=") >> identifierRule)[qi::_val = qi::_1 >= qi::_2] |
247  (identifierRule >> qi::lit("<") >> identifierRule)[qi::_val = qi::_1 < qi::_2] |
248  (identifierRule >> qi::lit("<=") >> identifierRule)[qi::_val = qi::_1 <= qi::_2] |
249  (identifierRule >> qi::lit("==") >> identifierRule)[qi::_val = qi::_1 == qi::_2] |
250  (identifierRule >> qi::lit("!=") >> identifierRule)[qi::_val = qi::_1 != qi::_2] |
251  identifierRule[qi::_val = qi::_1];
252  }

References zMuMuMuonUserData::alpha, TrackerDetIdSelectorGrammar< ITERATOR >::comboRule, TrackerDetIdSelectorGrammar< ITERATOR >::expressionRule, TrackerDetIdSelectorGrammar< ITERATOR >::identifierFctRule, and TrackerDetIdSelectorGrammar< ITERATOR >::identifierRule.

Member Data Documentation

◆ comboRule

template<typename ITERATOR>
boost::spirit::qi:: rule<ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type, boost::spirit::qi::locals<ExpressionAST> > TrackerDetIdSelectorGrammar< ITERATOR >::comboRule

◆ expressionRule

template<typename ITERATOR>
boost::spirit::qi::rule<ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type> TrackerDetIdSelectorGrammar< ITERATOR >::expressionRule

◆ identifierFctRule

template<typename ITERATOR>
boost::spirit::qi::rule<ITERATOR, std::string(), boost::spirit::ascii::space_type> TrackerDetIdSelectorGrammar< ITERATOR >::identifierFctRule

◆ identifierRule

template<typename ITERATOR>
boost::spirit::qi::rule<ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type> TrackerDetIdSelectorGrammar< ITERATOR >::identifierRule
zMuMuMuonUserData.alpha
alpha
zGenParticlesMatch = cms.InputTag(""),
Definition: zMuMuMuonUserData.py:9
TrackerDetIdSelectorGrammar::identifierRule
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type > identifierRule
Definition: TrackerDetIdSelector.h:224
TrackerDetIdSelectorGrammar::identifierFctRule
boost::spirit::qi::rule< ITERATOR, std::string(), boost::spirit::ascii::space_type > identifierFctRule
Definition: TrackerDetIdSelector.h:222
TrackerDetIdSelectorGrammar::expressionRule
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type > expressionRule
Definition: TrackerDetIdSelector.h:224
TrackerDetIdSelectorGrammar::comboRule
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type, boost::spirit::qi::locals< ExpressionAST > > comboRule
Definition: TrackerDetIdSelector.h:228