1 #ifndef __JAANET__JEVTWEIGHTFACTORTFORMULA__
2 #define __JAANET__JEVTWEIGHTFACTORTFORMULA__
12 #pragma GCC diagnostic push
13 #pragma GCC diagnostic ignored "-Wall"
15 #pragma GCC diagnostic pop
73 if (this->Compile(formula)) {
74 THROW(
JValueOutOfRange,
"JEvtWeightFactorTFormula::compile(): Could not compile formula: " << formula);
118 std::istream&
read(std::istream& in)
override final
124 streampos pos = in.tellg();
150 return static_cast<TFormula&
>(*this);
161 return static_cast<const TFormula&
>(*this);
178 template<
class JEvtWeightFactorTFormula_t>
188 Double_t* parameters = formula.GetParameters();
190 for (
int i = 0; i < formula.GetNpar(); ++i) {
192 const string parname = formula.GetParName(i);
194 (*this)[parname] = parameters[i];
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Utility class to parse parameter values.
Utility class to parse parameter values.
Simple data structure to support I/O of equations (see class JLANG::JEquation).
Exception for accessing a value in a collection that is outside of its range.
Extensions to Evt data format.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Abstract base class for specifiable event-weight factors.
static JEquationParameters & getEquationParameters()
Get equation parameters.
void check_validity() const
Check validity of this event-weight factor.
static const char *const getTypeKey()
Get type keyword.