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

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

Definition at line 230 of file TrackerDetIdSelector.h.

References zMuMuMuonUserData::alpha.

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  }
boost::spirit::qi::rule< ITERATOR, ExpressionAST(), boost::spirit::ascii::space_type > expressionRule
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 > identifierRule
alpha
zGenParticlesMatch = cms.InputTag(""),
boost::spirit::qi::rule< ITERATOR, std::string(), boost::spirit::ascii::space_type > identifierFctRule

Member Data Documentation

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

Definition at line 228 of file TrackerDetIdSelector.h.

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

Definition at line 224 of file TrackerDetIdSelector.h.

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

Definition at line 222 of file TrackerDetIdSelector.h.

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

Definition at line 224 of file TrackerDetIdSelector.h.