CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Classes | Typedefs | Enumerations | Functions
reco::parser Namespace Reference

Classes

struct  Abort
 
struct  abs_f
 
struct  acos_f
 
struct  AndCombiner
 
class  AnyMethodArgument2VoidPtr
 
class  AnyMethodArgumentFixup
 
class  AnyObjSelector
 
struct  asin_f
 
struct  atan2_f
 
struct  atan_f
 
struct  BinaryCutSetter
 
struct  BinarySelector
 
class  BinarySelectorSetter
 
struct  chi2prob_f
 
struct  CombinerSetter
 
struct  Comparison
 
struct  ComparisonBase
 
struct  ComparisonSetter
 
struct  cos_f
 
struct  cosh_f
 
struct  CutBinaryOperator
 
struct  CutBinaryOperatorSetter
 
struct  CutSetter
 
struct  deltaPhi_f
 
struct  deltaR_f
 
class  Exception
 
struct  exp_f
 
struct  ExpressionBase
 
struct  ExpressionBinaryOperator
 
struct  ExpressionBinaryOperatorSetter
 
struct  ExpressionCondition
 
struct  ExpressionConditionSetter
 
struct  ExpressionFunctionSetter
 
struct  ExpressionLazyVar
 
struct  ExpressionNumber
 
struct  ExpressionNumberSetter
 
struct  ExpressionQuaterOperator
 
class  ExpressionSelectorSetter
 
struct  ExpressionSetter
 
struct  ExpressionUnaryOperator
 
struct  ExpressionUnaryOperatorSetter
 
struct  ExpressionVar
 Evaluate an object's method or datamember (or chain of them) to get a number. More...
 
struct  ExpressionVarSetter
 
struct  FunctionSetter
 
struct  FunctionSetterCommit
 
struct  Grammar
 
struct  hypot_f
 
struct  IntSetter
 
struct  LazyInvoker
 Keeps different SingleInvokers for each dynamic type of the objects passed to invoke() More...
 
struct  log10_f
 
struct  log_f
 
struct  LogicalBinaryOperator
 
struct  LogicalUnaryOperator
 
struct  matches_another_integral_type
 
struct  max_f
 
struct  MethodArgumentSetter
 
struct  MethodInvoker
 
struct  MethodSetter
 
struct  min_f
 
struct  NotCombiner
 
struct  OrCombiner
 
struct  pow_f
 
struct  power_of
 
class  SelectorBase
 
struct  sin_f
 
struct  SingleInvoker
 
struct  sinh_f
 
struct  sqrt_f
 
struct  tan_f
 
struct  tanh_f
 
struct  test_bit_f
 
struct  TrinarySelector
 
class  TrinarySelectorSetter
 
struct  UnaryCutSetter
 

Typedefs

typedef boost::mpl::if_
< matches_another_integral_type
< unsigned long >
, boost::variant< int8_t,
uint8_t, int16_t, uint16_t,
int32_t, uint32_t, int64_t,
uint64_t, double, float,
std::string >, boost::variant
< int8_t, uint8_t, int16_t,
uint16_t, int32_t, uint32_t,
int64_t, uint64_t, unsigned
long, double, float,
std::string > >::type 
AnyMethodArgument
 
typedef
boost::spirit::classic::parser_error
< reco::parser::SyntaxErrors
BaseException
 
typedef std::vector
< boost::shared_ptr
< ComparisonBase > > 
ComparisonStack
 
typedef boost::shared_ptr
< ExpressionBase
ExpressionPtr
 
typedef std::vector
< reco::parser::ExpressionPtr
ExpressionPtrs
 
typedef std::vector
< boost::shared_ptr
< ExpressionBase > > 
ExpressionStack
 
typedef std::vector< FunctionFunctionStack
 
typedef std::vector< int > IntStack
 
typedef std::vector< LazyInvokerLazyMethodStack
 
typedef std::vector
< AnyMethodArgument
MethodArgumentStack
 
typedef std::vector
< MethodInvoker
MethodStack
 
typedef boost::shared_ptr
< SelectorBase
SelectorPtr
 
typedef std::vector
< reco::parser::SelectorPtr
SelectorPtrs
 
typedef std::vector< SelectorPtrSelectorStack
 
typedef std::vector< Reflex::Type > TypeStack
 

Enumerations

enum  ErrorCodes {
  kNoError = 0, kNameDoesNotExist, kIsNotPublic, kIsStatic,
  kIsNotConst, kIsFunctionAddedByROOT, kIsConstructor, kIsDestructor,
  kIsOperator, kWrongNumberOfArguments, kWrongArgumentType, kOverloaded
}
 
enum  Function {
  kAbs, kAcos, kAsin, kAtan,
  kAtan2, kChi2Prob, kCos, kCosh,
  kExp, kHypot, kLog, kLog10,
  kMax, kMin, kPow, kSin,
  kSinh, kSqrt, kTan, kTanh,
  kDeltaR, kDeltaPhi, kTestBit
}
 
enum  SyntaxErrors { kSyntaxError, kMissingClosingParenthesis, kSpecialError }
 

Functions

const char * baseExceptionWhat (const BaseException &e)
 returns the appropriate 'what' message for the exception More...
 
bool cutParser (const Reflex::Type &t, const std::string &cut, SelectorPtr &sel, bool lazy)
 
template<typename T >
bool cutParser (const std::string &cut, SelectorPtr &sel, bool lazy=false)
 
bool expressionParser (const Reflex::Type &t, const std::string &value, ExpressionPtr &expr, bool lazy)
 
template<typename T >
bool expressionParser (const std::string &value, ExpressionPtr &expr, bool lazy=false)
 
template<class T >
Exceptionoperator<< (Exception &e, const T &iT)
 
template<class T >
Exceptionoperator<< (const Exception &e, const T &iT)
 
Exceptionoperator<< (Exception &e, std::ostream &(*f)(std::ostream &))
 
Exceptionoperator<< (const Exception &e, std::ostream &(*f)(std::ostream &))
 
Exceptionoperator<< (Exception &e, std::ios_base &(*f)(std::ios_base &))
 
Exceptionoperator<< (const Exception &e, std::ios_base &(*f)(std::ios_base &))
 

Typedef Documentation

typedef boost::mpl::if_<matches_another_integral_type<unsigned long>, boost::variant<int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, double,float, std::string>, boost::variant<int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, unsigned long, double,float, std::string> >::type reco::parser::AnyMethodArgument

Definition at line 50 of file AnyMethodArgument.h.

typedef boost::spirit::classic::parser_error<reco::parser::SyntaxErrors> reco::parser::BaseException

Definition at line 37 of file Exception.h.

typedef std::vector<boost::shared_ptr<ComparisonBase> > reco::parser::ComparisonStack

Definition at line 18 of file ComparisonStack.h.

typedef boost::shared_ptr< ExpressionBase > reco::parser::ExpressionPtr

Definition at line 24 of file ExpressionBase.h.

Definition at line 12 of file classes.h.

typedef std::vector<boost::shared_ptr<ExpressionBase> > reco::parser::ExpressionStack

Definition at line 18 of file ExpressionStack.h.

typedef std::vector<Function> reco::parser::FunctionStack

Definition at line 17 of file FunctionStack.h.

typedef std::vector<int> reco::parser::IntStack

Definition at line 16 of file IntStack.h.

Definition at line 18 of file MethodStack.h.

Definition at line 17 of file MethodArgumentStack.h.

Definition at line 17 of file MethodStack.h.

typedef boost::shared_ptr<SelectorBase> reco::parser::SelectorPtr

Definition at line 17 of file SelectorPtr.h.

Definition at line 13 of file classes.h.

Definition at line 18 of file SelectorStack.h.

typedef std::vector<Reflex::Type> reco::parser::TypeStack

Definition at line 17 of file TypeStack.h.

Enumeration Type Documentation

ErrorCodes.h CommonTools/Utils/interface/ErrorCodes.h

Description: enum containing the various ways data/function member lookups can fail

Usage: <usage>

Enumerator
kNoError 
kNameDoesNotExist 
kIsNotPublic 
kIsStatic 
kIsNotConst 
kIsFunctionAddedByROOT 
kIsConstructor 
kIsDestructor 
kIsOperator 
kWrongNumberOfArguments 
kWrongArgumentType 
kOverloaded 

Definition at line 30 of file ErrorCodes.h.

Enumerator
kAbs 
kAcos 
kAsin 
kAtan 
kAtan2 
kChi2Prob 
kCos 
kCosh 
kExp 
kHypot 
kLog 
kLog10 
kMax 
kMin 
kPow 
kSin 
kSinh 
kSqrt 
kTan 
kTanh 
kDeltaR 
kDeltaPhi 
kTestBit 

Definition at line 18 of file Function.h.

Enumerator
kSyntaxError 
kMissingClosingParenthesis 
kSpecialError 

Definition at line 31 of file Exception.h.

Function Documentation

const char* reco::parser::baseExceptionWhat ( const BaseException &  e)
inline

returns the appropriate 'what' message for the exception

Definition at line 40 of file Exception.h.

References kMissingClosingParenthesis, kSpecialError, and kSyntaxError.

Referenced by cutParser(), expressionParser(), helper::Parser::makeExpression(), helper::Parser::makeSelector(), FWModelExpressionSelector::select(), FWExpressionEvaluator::setExpression(), and FWModelFilter::setExpression().

40  {
41  switch(e.descriptor) {
43  return "Missing close parenthesis.";
44  case kSyntaxError:
45  return "Syntax error.";
46  case kSpecialError:
47  default:
48  break;
49  }
50  return e.what();
51  }
bool reco::parser::cutParser ( const Reflex::Type &  t,
const std::string &  cut,
SelectorPtr sel,
bool  lazy = false 
)

Definition at line 7 of file cutParser.cc.

References baseExceptionWhat(), trackerHits::c, edm::errors::Configuration, alignCSCRings::e, edm::hlt::Exception, and triggerExpression::parse().

Referenced by cutParser().

7  {
8  bool justBlanks = true;
9  for(std::string::const_iterator c = cut.begin(); c != cut.end(); ++c) {
10  if(*c != ' ') { justBlanks = false; break; }
11  }
12  if(justBlanks) {
14  return true;
15  } else {
16  using namespace boost::spirit::classic;
17  Grammar grammar(sel, t, lazy);
18  bool returnValue = false;
19  const char* startingFrom =cut.c_str();
20  try {
21  returnValue = parse(startingFrom, grammar.use_parser<0>() >> end_p, space_p).full;
22  }
23  catch(BaseException& e) {
24  throw edm::Exception(edm::errors::Configuration)<<"Cut parser error:"<<baseExceptionWhat(e)<<" (char "<<e.where-startingFrom<<")\n";
25  }
26  return returnValue;
27  }
28 }
boost::spirit::classic::parser_error< reco::parser::SyntaxErrors > BaseException
Definition: Exception.h:37
Evaluator * parse(const T &text)
const char * baseExceptionWhat(const BaseException &e)
returns the appropriate &#39;what&#39; message for the exception
Definition: Exception.h:40
boost::shared_ptr< SelectorBase > SelectorPtr
Definition: SelectorPtr.h:17
template<typename T >
bool reco::parser::cutParser ( const std::string &  cut,
SelectorPtr &  sel,
bool  lazy = false 
)
inline

Definition at line 13 of file cutParser.h.

References cutParser().

13  {
14  return reco::parser::cutParser(Reflex::Type::ByTypeInfo(typeid(T)), cut, sel, lazy);
15  }
bool cutParser(const Reflex::Type &t, const std::string &cut, SelectorPtr &sel, bool lazy)
Definition: cutParser.cc:7
long double T
bool reco::parser::expressionParser ( const Reflex::Type &  t,
const std::string &  value,
ExpressionPtr expr,
bool  lazy 
)

Definition at line 7 of file expressionParser.cc.

References baseExceptionWhat(), edm::errors::Configuration, alignCSCRings::e, edm::hlt::Exception, and triggerExpression::parse().

Referenced by expressionParser().

7  {
8  using namespace boost::spirit::classic;
9  Grammar grammar(expr, t, lazy);
10  bool returnValue = false;
11  const char* startingFrom = value.c_str();
12  try {
13  returnValue=parse(startingFrom, grammar.use_parser<1>() >> end_p, space_p).full;
14  } catch(BaseException&e){
15  throw edm::Exception(edm::errors::Configuration)<<"Expression parser error:"<<baseExceptionWhat(e)<<" (char "<<e.where-startingFrom<<")\n";
16  }
17  return returnValue;
18 }
boost::spirit::classic::parser_error< reco::parser::SyntaxErrors > BaseException
Definition: Exception.h:37
Evaluator * parse(const T &text)
const char * baseExceptionWhat(const BaseException &e)
returns the appropriate &#39;what&#39; message for the exception
Definition: Exception.h:40
template<typename T >
bool reco::parser::expressionParser ( const std::string &  value,
ExpressionPtr &  expr,
bool  lazy = false 
)

Definition at line 13 of file expressionParser.h.

References expressionParser().

13  {
14  return reco::parser::expressionParser(Reflex::Type::ByTypeInfo(typeid(T)), value, expr, lazy);
15  }
bool expressionParser(const Reflex::Type &t, const std::string &value, ExpressionPtr &expr, bool lazy)
long double T
template<class T >
Exception& reco::parser::operator<< ( Exception e,
const T iT 
)
inline

Definition at line 86 of file Exception.h.

References alignCSCRings::e, and reco::parser::Exception::ost_.

86  {
87  e.ost_ << iT;
88  return e;
89  }
template<class T >
Exception& reco::parser::operator<< ( const Exception e,
const T iT 
)
inline

Definition at line 91 of file Exception.h.

References alignCSCRings::e.

91  {
92  return operator<<(const_cast<Exception&>(e), iT);
93  }
Exception& reco::parser::operator<< ( Exception e,
std::ostream &(*)(std::ostream &)  f 
)
inline

Definition at line 94 of file Exception.h.

References alignCSCRings::e, f, and reco::parser::Exception::ost_.

95  {
96  f(e.ost_);
97  return e;
98  }
double f[11][100]
Exception& reco::parser::operator<< ( const Exception e,
std::ostream &(*)(std::ostream &)  f 
)
inline

Definition at line 99 of file Exception.h.

References alignCSCRings::e, and f.

100  {
101  f(const_cast<Exception&>(e).ost_);
102  return const_cast<Exception&>(e);
103  }
double f[11][100]
Exception& reco::parser::operator<< ( Exception e,
std::ios_base &(*)(std::ios_base &)  f 
)
inline

Definition at line 104 of file Exception.h.

References alignCSCRings::e, f, and reco::parser::Exception::ost_.

104  {
105  f(e.ost_);
106  return e;
107  }
double f[11][100]
Exception& reco::parser::operator<< ( const Exception e,
std::ios_base &(*)(std::ios_base &)  f 
)
inline

Definition at line 108 of file Exception.h.

References alignCSCRings::e, and f.

108  {
109  f(const_cast<Exception&>(e).ost_);
110  return const_cast<Exception&>(e);
111  }
double f[11][100]