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)
23 const unsigned dim =
buffer_.size();
24 double* buf = dim ? &
buffer_[0] :
static_cast<double*
>(0);
25 this->
map(jet, current, buf, dim);
32 virtual void map(
const Jet&
jet,
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
double scale(const Jet &jet, const Adjustable ¤t) const
AbsFFTJetScaleCalculator()
std::vector< double > buffer_
virtual ~AbsFFTJetScaleCalculator()
virtual void map(const Jet &jet, const Adjustable ¤t, double *buf, unsigned dim) const =0
AbsFFTJetScaleCalculator(std::shared_ptr< npstat::AbsMultivariateFunctor > f)
Interface definition for multidimensional functors.