1 #ifndef JetMETCorrections_FFTJetObjects_AbsFFTJetScaleCalculator_h 2 #define JetMETCorrections_FFTJetObjects_AbsFFTJetScaleCalculator_h 5 #include "Alignment/Geners/interface/CPP11_shared_ptr.hh" 8 template<
class Jet,
class Adjustable>
16 CPP11_shared_ptr<npstat::AbsMultivariateFunctor>
f)
21 inline double scale(
const Jet&
jet,
const Adjustable& current)
const 23 const unsigned dim =
buffer_.size();
24 double* buf = dim ? &
buffer_[0] :
static_cast<double*
>(
nullptr);
25 this->
map(jet, current, buf, dim);
33 const Adjustable& current,
34 double* buf,
unsigned dim)
const = 0;
36 CPP11_shared_ptr<npstat::AbsMultivariateFunctor>
functor;
40 #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.