1 #ifndef JetMETCorrections_FFTJetObjects_AbsFFTJetScaleCalculator_h 2 #define JetMETCorrections_FFTJetObjects_AbsFFTJetScaleCalculator_h 9 template <
class Jet,
class Adjustable>
20 inline double scale(
const Jet&
jet,
const Adjustable& current)
const {
21 const unsigned dim =
buffer_.size();
22 double* buf = dim ? &
buffer_[0] :
static_cast<double*
>(
nullptr);
23 this->
map(jet, current, buf, dim);
30 virtual void map(
const Jet&
jet,
const Adjustable& current,
double* buf,
unsigned dim)
const = 0;
32 std::shared_ptr<npstat::AbsMultivariateFunctor>
functor;
36 #endif // JetMETCorrections_FFTJetObjects_AbsFFTJetScaleCalculator_h
Adjustable adjustable_type
std::shared_ptr< npstat::AbsMultivariateFunctor > functor
virtual void map(const Jet &jet, const Adjustable ¤t, double *buf, unsigned dim) const =0
double scale(const Jet &jet, const Adjustable ¤t) const
std::vector< double > buffer_
virtual ~AbsFFTJetScaleCalculator()
AbsFFTJetScaleCalculator(std::shared_ptr< npstat::AbsMultivariateFunctor > f)
AbsFFTJetScaleCalculator()=delete
Interface definition for multidimensional functors.