CMS 3D CMS Logo

Classes | Functions

triggerExpression Namespace Reference

Classes

class  BinaryOperator
class  Constant
class  Data
class  Evaluator
class  HLTReader
class  L1Reader
class  L1TechReader
class  OperatorAnd
class  OperatorNot
class  OperatorOr
class  OperatorXor
class  Parser
class  Prescaler
class  UnaryOperator

Functions

template<typename T >
static const Tget (const edm::Event &event, const edm::InputTag &tag)
template<typename R , typename T >
static const Tget (const edm::EventSetup &setup)
std::ostream & operator<< (std::ostream &out, const Evaluator &eval)
Evaluatorparse (const char *text)
template<class T >
Evaluatorparse (const T &text)

Function Documentation

template<typename T >
static const T* triggerExpression::get ( const edm::Event event,
const edm::InputTag tag 
) [static]

Definition at line 23 of file TriggerExpressionData.cc.

References error, patZpeak::handle, edm::HandleBase::isValid(), edm::Handle< T >::product(), GlobalPosition_Frontier_DevDB_cff::tag, and edm::HandleBase::whyFailed().

                                                               {
  edm::Handle<T> handle;
  event.getByLabel(tag, handle);
  if (not handle.isValid()) {
    boost::shared_ptr<cms::Exception> const & error = handle.whyFailed();
    edm::LogWarning(error->category()) << error->what();
    return 0;
  } else {
    return handle.product();
  }
}
template<typename R , typename T >
static const T* triggerExpression::get ( const edm::EventSetup setup) [static]

Definition at line 37 of file TriggerExpressionData.cc.

References patZpeak::handle, edm::ESHandle< T >::product(), dttmaxenums::R, and HcalObjRepresent::setup().

                                           {
  edm::ESHandle<T> handle;
  setup.get<R>().get(handle);
  return handle.product();
}
std::ostream& triggerExpression::operator<< ( std::ostream &  out,
const Evaluator &  eval 
) [inline]

Definition at line 28 of file TriggerExpressionEvaluator.h.

References triggerExpression::Evaluator::dump(), and dbtoconf::out.

                                                                  {
  eval.dump(out);
  return out;
}
Evaluator* triggerExpression::parse ( const char *  text) [inline]

Definition at line 104 of file TriggerExpressionParser.h.

References begin, end, geometryXMLtoCSV::parser, query::result, and runonSM::text.

                                            {
  Parser<const char *> parser;
  Evaluator * evaluator = 0;

  const char * begin = text;
  const char * end   = text + strlen(text);

  // the interface of qi::phrase_parse has changed between Boost 1.40 (Spirit 2.0) and Boost 1.41 (Spirit 2.1)
  bool result = qi::phrase_parse( begin, end, parser, ascii::space, evaluator );

  if (not result or begin != end) {
    delete evaluator;
    return 0;
  }

  return evaluator;
}
template<class T >
Evaluator* triggerExpression::parse ( const T text)

Definition at line 84 of file TriggerExpressionParser.h.

References begin, end, geometryXMLtoCSV::parser, and query::result.

Referenced by reco::parser::cutParser(), DDTokenize2(), cand::parser::decayParser(), reco::parser::expressionParser(), HcalChannelDataXml::init_data(), helper::Parser::makeExpression(), helper::Parser::makeSelector(), DDLVector::parse_numbers(), DDLVector::parse_strings(), DDLMap::processElement(), FWModelExpressionSelector::select(), FWExpressionEvaluator::setExpression(), and FWModelFilter::setExpression().

                                  {
  typedef typename T::const_iterator Iterator;
  Parser<Iterator> parser;
  Evaluator * evaluator = 0;

  Iterator begin = text.begin();
  Iterator end   = text.end();

  // the interface of qi::phrase_parse has changed between Boost 1.40 (Spirit 2.0) and Boost 1.41 (Spirit 2.1)
  bool result = qi::phrase_parse( begin, end, parser, ascii::space, evaluator );

  if (not result or begin != end) {
    delete evaluator;
    return 0;
  }

  return evaluator;
}