#include <LinInterpolatedTableND.h>
Public Types | |
typedef Axis | axis_type |
typedef Numeric | value_type |
Public Member Functions | |
void | getCoords (unsigned long linearIndex, double *coords, unsigned coordsBufferSize) const |
template<class Functor1 , class Functor2 > | |
std::unique_ptr< LinInterpolatedTableND > | invertRatioResponse (unsigned axisNumber, const Axis &replacementAxis, bool newAxisLeftLinear, bool newAxisRightLinear, Functor1 invg, Functor2 invh, const char *functionLabel=0) const |
template<class Functor1 , class Functor2 > | |
std::unique_ptr< LinInterpolatedTableND< Numeric, Axis > > | invertRatioResponse (const unsigned axisNumber, const Axis &replacementAxis, const bool leftLinear, const bool rightLinear, Functor1 invg, Functor2 invh, const char *functionLabel) const |
template<typename ConvertibleToUnsigned > | |
std::unique_ptr< LinInterpolatedTableND > | invertWRTAxis (ConvertibleToUnsigned axisNumber, const Axis &replacementAxis, bool newAxisLeftLinear, bool newAxisRightLinear, const char *functionLabel=0) const |
template<typename ConvertibleToUnsigned > | |
std::unique_ptr< LinInterpolatedTableND< Numeric, Axis > > | invertWRTAxis (const ConvertibleToUnsigned axisNumC, const Axis &replacementAxis, const bool leftLinear, const bool rightLinear, const char *functionLabel) const |
bool | isUniformlyBinned () const |
bool | isWithinLimits (const double *point, unsigned dim) const |
LinInterpolatedTableND (const std::vector< Axis > &axes, const std::vector< std::pair< bool, bool > > &extrapolationType, const char *functionLabel=0) | |
LinInterpolatedTableND (const Axis &xAxis, bool leftX, bool rightX, const char *functionLabel=0) | |
LinInterpolatedTableND (const Axis &xAxis, bool leftX, bool rightX, const Axis &yAxis, bool leftY, bool rightY, const char *functionLabel=0) | |
LinInterpolatedTableND (const Axis &xAxis, bool leftX, bool rightX, const Axis &yAxis, bool leftY, bool rightY, const Axis &zAxis, bool leftZ, bool rightZ, const char *functionLabel=0) | |
LinInterpolatedTableND (const Axis &xAxis, bool leftX, bool rightX, const Axis &yAxis, bool leftY, bool rightY, const Axis &zAxis, bool leftZ, bool rightZ, const Axis &tAxis, bool leftT, bool rightT, const char *functionLabel=0) | |
LinInterpolatedTableND (const Axis &xAxis, bool leftX, bool rightX, const Axis &yAxis, bool leftY, bool rightY, const Axis &zAxis, bool leftZ, bool rightZ, const Axis &tAxis, bool leftT, bool rightT, const Axis &vAxis, bool leftV, bool rightV, const char *functionLabel=0) | |
template<class Num2 > | |
LinInterpolatedTableND (const LinInterpolatedTableND< Num2, Axis > &) | |
bool | operator!= (const LinInterpolatedTableND &r) const |
Numeric | operator() (const double *point, unsigned dim) const |
bool | operator== (const LinInterpolatedTableND &) const |
void | setFunctionLabel (const char *newlabel) |
Numeric | operator() (const double &x0) const |
Numeric | operator() (const double &x0, const double &x1) const |
Numeric | operator() (const double &x0, const double &x1, const double &x2) const |
Numeric | operator() (const double &x0, const double &x1, const double &x2, const double &x3) const |
Numeric | operator() (const double &x0, const double &x1, const double &x2, const double &x3, const double &x4) const |
unsigned | dim () const |
const std::vector< Axis > & | axes () const |
const Axis & | axis (const unsigned i) const |
unsigned long | length () const |
bool | leftInterpolationLinear (unsigned i) const |
bool | rightInterpolationLinear (unsigned i) const |
std::vector< std::pair< bool, bool > > | interpolationType () const |
const std::string & | functionLabel () const |
const ArrayND< Numeric > & | table () const |
ArrayND< Numeric > & | table () |
gs::ClassId | classId () const |
bool | write (std::ostream &of) const |
Static Public Member Functions | |
static const char * | classname () |
static LinInterpolatedTableND * | read (const gs::ClassId &id, std::istream &in) |
static unsigned | version () |
Private Member Functions | |
bool | allConstInterpolated () const |
LinInterpolatedTableND ()=delete | |
LinInterpolatedTableND (const ArrayND< Numeric > &data, const std::vector< Axis > &axes, const char *leftInterpolation, const char *rightInterpolation, const std::string &label) | |
Static Private Member Functions | |
template<class Functor1 > | |
static void | invert1DResponse (const ArrayND< Numeric > &fromSlice, const Axis &fromAxis, const Axis &toAxis, bool newLeftLinear, bool newRightLinear, Functor1 invg, const double *rawx, const double *rawf, double *workspace, ArrayND< Numeric > *toSlice) |
template<class Functor1 > | |
static double | solveForRatioArg (double xmin, double xmax, double rmin, double rmax, double fval, Functor1 invg) |
Private Attributes | |
bool | allConstInterpolated_ |
std::vector< Axis > | axes_ |
ArrayND< Numeric > | data_ |
unsigned | dim_ |
std::string | functionLabel_ |
char | leftInterpolationLinear_ [CHAR_BIT *sizeof(unsigned long)] |
char | rightInterpolationLinear_ [CHAR_BIT *sizeof(unsigned long)] |
Friends | |
template<typename Num2 , typename Axis2 > | |
class | LinInterpolatedTableND |
Template for multilinear interpolation/extrapolation of values provided on a rectangular coordinate grid. "Numeric" is the type stored in the table. "Axis" should be one of GridAxis, UniformAxis, or DualAxis classes or a user-provided class with a similar set of methods.
Definition at line 31 of file LinInterpolatedTableND.h.
typedef Axis npstat::LinInterpolatedTableND< Numeric, Axis >::axis_type |
Definition at line 38 of file LinInterpolatedTableND.h.
typedef Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::value_type |
Definition at line 37 of file LinInterpolatedTableND.h.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const std::vector< Axis > & | axes, |
const std::vector< std::pair< bool, bool > > & | extrapolationType, | ||
const char * | functionLabel = 0 |
||
) |
Main constructor for arbitrary-dimensional interpolators.
"axes" are the axes of the rectangular coordinate grid.
In each pair provided by the "extrapolationType" argument, the first element of the pair specifies whether the extrapolation to negative infinity should be linear (if "true") or constant (if "false"). The second element of the pair specifies whether to extrapolate linearly to positive infinity.
"functionLabel" is an arbitrary string which can potentially be used by plotting programs and such.
Definition at line 566 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const Axis & | xAxis, |
bool | leftX, | ||
bool | rightX, | ||
const char * | functionLabel = 0 |
||
) |
Convenience constructor for 1-d interpolators
Definition at line 747 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const Axis & | xAxis, |
bool | leftX, | ||
bool | rightX, | ||
const Axis & | yAxis, | ||
bool | leftY, | ||
bool | rightY, | ||
const char * | functionLabel = 0 |
||
) |
Convenience constructor for 2-d interpolators
Definition at line 724 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const Axis & | xAxis, |
bool | leftX, | ||
bool | rightX, | ||
const Axis & | yAxis, | ||
bool | leftY, | ||
bool | rightY, | ||
const Axis & | zAxis, | ||
bool | leftZ, | ||
bool | rightZ, | ||
const char * | functionLabel = 0 |
||
) |
Convenience constructor for 3-d interpolators
Definition at line 697 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const Axis & | xAxis, |
bool | leftX, | ||
bool | rightX, | ||
const Axis & | yAxis, | ||
bool | leftY, | ||
bool | rightY, | ||
const Axis & | zAxis, | ||
bool | leftZ, | ||
bool | rightZ, | ||
const Axis & | tAxis, | ||
bool | leftT, | ||
bool | rightT, | ||
const char * | functionLabel = 0 |
||
) |
Convenience constructor for 4-d interpolators
Definition at line 666 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const Axis & | xAxis, |
bool | leftX, | ||
bool | rightX, | ||
const Axis & | yAxis, | ||
bool | leftY, | ||
bool | rightY, | ||
const Axis & | zAxis, | ||
bool | leftZ, | ||
bool | rightZ, | ||
const Axis & | tAxis, | ||
bool | leftT, | ||
bool | rightT, | ||
const Axis & | vAxis, | ||
bool | leftV, | ||
bool | rightV, | ||
const char * | functionLabel = 0 |
||
) |
Convenience constructor for 5-d interpolators
Definition at line 631 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND | ( | const LinInterpolatedTableND< Num2, Axis > & | r | ) |
Converting copy constructor from interpolator with another storage type
Definition at line 595 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
|
privatedelete |
|
private |
Definition at line 611 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
|
private |
Definition at line 444 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), and npstat::LinInterpolatedTableND< Numeric, Axis >::version().
|
inline |
Definition at line 118 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::read(), and npstat::LinInterpolatedTableND< Numeric, Axis >::version().
|
inline |
Definition at line 119 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_.
|
inline |
Definition at line 205 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::classname(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
Referenced by npstat::StorableInterpolationFunctor< Numeric, Axis, Converter >::write().
|
static |
Definition at line 471 of file LinInterpolatedTableND.h.
References AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::classId().
|
inline |
Examine interpolator contents
Definition at line 117 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_.
Referenced by npstat::StorableInterpolationFunctor< Numeric, Axis, Converter >::minDim(), npstat::LinInterpolatedTableND< Numeric, Axis >::read(), and npstat::LinInterpolatedTableND< Numeric, Axis >::table().
|
inline |
Definition at line 125 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::setFunctionLabel().
void npstat::LinInterpolatedTableND< Numeric, Axis >::getCoords | ( | unsigned long | linearIndex, |
double * | coords, | ||
unsigned | coordsBufferSize | ||
) | const |
Convenience function for getting coordinates of the grid points
Definition at line 920 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::ArrayND< Numeric, StackLen, StackDim >::convertLinearIndex(), npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, and mps_fire::i.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::table().
std::vector< std::pair< bool, bool > > npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType | ( | ) | const |
Definition at line 555 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis(), npstat::LinInterpolatedTableND< Numeric, Axis >::length(), and npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND().
|
staticprivate |
Definition at line 1168 of file LinInterpolatedTableND.h.
References npstat::ArrayND< Numeric, StackLen, StackDim >::data(), mps_fire::i, npstat::ArrayND< Numeric, StackLen, StackDim >::length(), npstat::ArrayND< Numeric, StackLen, StackDim >::rank(), npstat::LinInterpolatedTableND< Numeric, Axis >::solveForRatioArg(), and mitigatedMETSequence_cff::U.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse().
std::unique_ptr<LinInterpolatedTableND> npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse | ( | unsigned | axisNumber, |
const Axis & | replacementAxis, | ||
bool | newAxisLeftLinear, | ||
bool | newAxisRightLinear, | ||
Functor1 | invg, | ||
Functor2 | invh, | ||
const char * | functionLabel = 0 |
||
) | const |
This method inverts the ratio response. That is, we assume that the table encodes r(x) for some function f(x) = x*r(x). We also assume that the original axis does not represent x directly – instead, axis coordinates are given by g(x) (in practice, g is often the natural log). We will also assume that the new axis is not going to represent f(x) directly – it will be h(f(x)) instead. The functors "invg" and "invh" below must do the inverse: taking the axes coordinates to the actual values of x and f(x). Both "invg" and "invh" must be monotonously increasing functions. The code assumes that x*r(x) -> 0 when x->0 (that is, r(x) is bounded at 0) and it also assumes (but does not check explicitly) that x*r(x) is monotonously increasing with x.
The returned interpolation table encodes the values of x/f(x). Of course, they are just 1/r(x), but the trick is to be able to look them up quickly as a function of h(f(x)). Naturally, this whole operation is meaningful only in case "Numeric" type is either float or double.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::setFunctionLabel().
std::unique_ptr<LinInterpolatedTableND<Numeric,Axis> > npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse | ( | const unsigned | axisNumber, |
const Axis & | replacementAxis, | ||
const bool | leftLinear, | ||
const bool | rightLinear, | ||
Functor1 | invg, | ||
Functor2 | invh, | ||
const char * | functionLabel | ||
) | const |
Definition at line 827 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, KineDebug3::count(), npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::exportSlice(), f, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::invert1DResponse(), npstat::ArrayNDScanner::isValid(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::ArrayND< Numeric, StackLen, StackDim >::span(), and mitigatedMETSequence_cff::U.
std::unique_ptr<LinInterpolatedTableND> npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis | ( | ConvertibleToUnsigned | axisNumber, |
const Axis & | replacementAxis, | ||
bool | newAxisLeftLinear, | ||
bool | newAxisRightLinear, | ||
const char * | functionLabel = 0 |
||
) | const |
Invert the function w.r.t. the variable represented by one of the axes. The function values must change monotonously along the chosen axis. Note that this operation is meaningful only in case "Numeric" type is either float or double.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::setFunctionLabel().
std::unique_ptr<LinInterpolatedTableND<Numeric,Axis> > npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis | ( | const ConvertibleToUnsigned | axisNumC, |
const Axis & | replacementAxis, | ||
const bool | leftLinear, | ||
const bool | rightLinear, | ||
const char * | functionLabel | ||
) | const |
Definition at line 766 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, KineDebug3::count(), npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::ArrayND< Numeric, StackLen, StackDim >::exportSlice(), mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::ArrayNDScanner::isValid(), npstat::Private::lind_invert1DSlice(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::ArrayND< Numeric, StackLen, StackDim >::span(), and mitigatedMETSequence_cff::U.
bool npstat::LinInterpolatedTableND< Numeric, Axis >::isUniformlyBinned | ( | ) | const |
This method returns "true" if the method isUniform() of each interpolator axis returns "true"
Definition at line 545 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, and mps_fire::i.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::table().
bool npstat::LinInterpolatedTableND< Numeric, Axis >::isWithinLimits | ( | const double * | point, |
unsigned | dim | ||
) | const |
This method will return "true" if the point is inside the grid limits or on the boundary
Definition at line 935 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, SiStripPI::max, and min().
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::table().
bool npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear | ( | unsigned | i | ) | const |
Definition at line 525 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, and npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::length().
|
inline |
Definition at line 121 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::data_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear(), npstat::ArrayND< Numeric, StackLen, StackDim >::length(), and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear().
|
inline |
Logical negation of operator==
Definition at line 200 of file LinInterpolatedTableND.h.
References alignCSCRings::r.
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double * | point, |
unsigned | dim | ||
) | const |
Basic interpolation result. Argument point dimensionality must be compatible with the interpolator dimensionality.
Definition at line 951 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated_, npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::ArrayND< Numeric, StackLen, StackDim >::data(), npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, npstat::ArrayND< Numeric, StackLen, StackDim >::interpolate1(), npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, linear(), SiStripPI::max, min(), npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_, npstat::ArrayND< Numeric, StackLen, StackDim >::strides(), mitigatedMETSequence_cff::U, and w.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::operator()().
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double & | x0 | ) | const |
Convenience function for low-dimensional interpolators
Definition at line 1030 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), tmp, and mitigatedMETSequence_cff::U.
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double & | x0, |
const double & | x1 | ||
) | const |
Definition at line 1043 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), tmp, mitigatedMETSequence_cff::U, and globals_cff::x1.
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double & | x0, |
const double & | x1, | ||
const double & | x2 | ||
) | const |
Definition at line 1057 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), tmp, mitigatedMETSequence_cff::U, globals_cff::x1, and globals_cff::x2.
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double & | x0, |
const double & | x1, | ||
const double & | x2, | ||
const double & | x3 | ||
) | const |
Definition at line 1072 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), tmp, mitigatedMETSequence_cff::U, globals_cff::x1, and globals_cff::x2.
Numeric npstat::LinInterpolatedTableND< Numeric, Axis >::operator() | ( | const double & | x0, |
const double & | x1, | ||
const double & | x2, | ||
const double & | x3, | ||
const double & | x4 | ||
) | const |
Definition at line 1089 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), tmp, mitigatedMETSequence_cff::U, globals_cff::x1, and globals_cff::x2.
bool npstat::LinInterpolatedTableND< Numeric, Axis >::operator== | ( | const LinInterpolatedTableND< Numeric, Axis > & | r | ) | const |
Comparison for equality
Definition at line 453 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel_, mps_fire::i, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::setFunctionLabel().
|
static |
Definition at line 495 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes(), data, npstat::LinInterpolatedTableND< Numeric, Axis >::dim(), label, npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::ArrayND< Numeric, StackLen, StackDim >::rank(), npstat::ArrayND< Numeric, StackLen, StackDim >::restore(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by edmIntegrityCheck.PublishToFileSystem::get(), npstat::StorableInterpolationFunctor< Numeric, Axis, Converter >::read(), and npstat::LinInterpolatedTableND< Numeric, Axis >::version().
bool npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear | ( | unsigned | i | ) | const |
Definition at line 535 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, mps_fire::i, and npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::length().
|
inline |
Modifier for the function label
Definition at line 152 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel(), npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel_, npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis(), and npstat::LinInterpolatedTableND< Numeric, Axis >::operator==().
|
staticprivate |
Definition at line 1108 of file LinInterpolatedTableND.h.
References funct::abs(), npstat::Private::lind_interpolateSimple(), mitigatedMETSequence_cff::U, globals_cff::x1, TrackerOfflineValidation_Dqm_cff::xmax, and TrackerOfflineValidation_Dqm_cff::xmin.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::invert1DResponse().
|
inline |
Access the interpolator table data
Definition at line 131 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::data_.
Referenced by npstat::StorableInterpolationFunctor< Numeric, Axis, Converter >::table().
|
inline |
Definition at line 132 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim(), npstat::LinInterpolatedTableND< Numeric, Axis >::getCoords(), npstat::LinInterpolatedTableND< Numeric, Axis >::isUniformlyBinned(), npstat::LinInterpolatedTableND< Numeric, Axis >::isWithinLimits(), and point.
|
inlinestatic |
Definition at line 210 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::axes(), data, recoMuon::in, label, npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::LinInterpolatedTableND< Numeric, Axis >::read(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().
bool npstat::LinInterpolatedTableND< Numeric, Axis >::write | ( | std::ostream & | of | ) | const |
Definition at line 479 of file LinInterpolatedTableND.h.
References npstat::LinInterpolatedTableND< Numeric, Axis >::axes_, npstat::ArrayND< Numeric, StackLen, StackDim >::classId(), npstat::LinInterpolatedTableND< Numeric, Axis >::data_, npstat::LinInterpolatedTableND< Numeric, Axis >::dim_, npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel_, npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear_, npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear_, mps_update::status, and npstat::ArrayND< Numeric, StackLen, StackDim >::write().
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::classId(), and npstat::StorableInterpolationFunctor< Numeric, Axis, Converter >::write().
|
friend |
Definition at line 34 of file LinInterpolatedTableND.h.
|
private |
Definition at line 232 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), and npstat::LinInterpolatedTableND< Numeric, Axis >::operator()().
|
private |
Definition at line 227 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::axes(), npstat::LinInterpolatedTableND< Numeric, Axis >::axis(), npstat::LinInterpolatedTableND< Numeric, Axis >::getCoords(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis(), npstat::LinInterpolatedTableND< Numeric, Axis >::isUniformlyBinned(), npstat::LinInterpolatedTableND< Numeric, Axis >::isWithinLimits(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
|
private |
Definition at line 226 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::getCoords(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis(), npstat::LinInterpolatedTableND< Numeric, Axis >::length(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), npstat::LinInterpolatedTableND< Numeric, Axis >::table(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
|
private |
Definition at line 231 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::dim(), npstat::LinInterpolatedTableND< Numeric, Axis >::getCoords(), npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertRatioResponse(), npstat::LinInterpolatedTableND< Numeric, Axis >::invertWRTAxis(), npstat::LinInterpolatedTableND< Numeric, Axis >::isUniformlyBinned(), npstat::LinInterpolatedTableND< Numeric, Axis >::isWithinLimits(), npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
|
private |
Definition at line 228 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::functionLabel(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), npstat::LinInterpolatedTableND< Numeric, Axis >::setFunctionLabel(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
|
private |
Definition at line 229 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::leftInterpolationLinear(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().
|
private |
Definition at line 230 of file LinInterpolatedTableND.h.
Referenced by npstat::LinInterpolatedTableND< Numeric, Axis >::allConstInterpolated(), npstat::LinInterpolatedTableND< Numeric, Axis >::interpolationType(), npstat::LinInterpolatedTableND< Numeric, Axis >::LinInterpolatedTableND(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator()(), npstat::LinInterpolatedTableND< Numeric, Axis >::operator==(), npstat::LinInterpolatedTableND< Numeric, Axis >::rightInterpolationLinear(), and npstat::LinInterpolatedTableND< Numeric, Axis >::write().