CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
AbsFFTJetScaleCalculator< Jet, Adjustable > Class Template Referenceabstract

#include <AbsFFTJetScaleCalculator.h>

Public Types

typedef Adjustable adjustable_type
 
typedef Jet jet_type
 

Public Member Functions

 AbsFFTJetScaleCalculator (std::shared_ptr< npstat::AbsMultivariateFunctor > f)
 
 AbsFFTJetScaleCalculator ()=delete
 
double scale (const Jet &jet, const Adjustable &current) const
 
virtual ~AbsFFTJetScaleCalculator ()
 

Private Member Functions

virtual void map (const Jet &jet, const Adjustable &current, double *buf, unsigned dim) const =0
 

Private Attributes

std::vector< double > buffer_
 
std::shared_ptr< npstat::AbsMultivariateFunctorfunctor
 

Detailed Description

template<class Jet, class Adjustable>
class AbsFFTJetScaleCalculator< Jet, Adjustable >

Definition at line 10 of file AbsFFTJetScaleCalculator.h.

Member Typedef Documentation

◆ adjustable_type

template<class Jet, class Adjustable>
typedef Adjustable AbsFFTJetScaleCalculator< Jet, Adjustable >::adjustable_type

Definition at line 13 of file AbsFFTJetScaleCalculator.h.

◆ jet_type

template<class Jet, class Adjustable>
typedef Jet AbsFFTJetScaleCalculator< Jet, Adjustable >::jet_type

Definition at line 12 of file AbsFFTJetScaleCalculator.h.

Constructor & Destructor Documentation

◆ AbsFFTJetScaleCalculator() [1/2]

template<class Jet, class Adjustable>
AbsFFTJetScaleCalculator< Jet, Adjustable >::AbsFFTJetScaleCalculator ( std::shared_ptr< npstat::AbsMultivariateFunctor f)
inlineexplicit

Definition at line 15 of file AbsFFTJetScaleCalculator.h.

16  : functor(f), buffer_(f->minDim()) {}
std::shared_ptr< npstat::AbsMultivariateFunctor > functor
double f[11][100]

◆ AbsFFTJetScaleCalculator() [2/2]

template<class Jet, class Adjustable>
AbsFFTJetScaleCalculator< Jet, Adjustable >::AbsFFTJetScaleCalculator ( )
delete

◆ ~AbsFFTJetScaleCalculator()

template<class Jet, class Adjustable>
virtual AbsFFTJetScaleCalculator< Jet, Adjustable >::~AbsFFTJetScaleCalculator ( )
inlinevirtual

Definition at line 19 of file AbsFFTJetScaleCalculator.h.

19 {}

Member Function Documentation

◆ map()

template<class Jet, class Adjustable>
virtual void AbsFFTJetScaleCalculator< Jet, Adjustable >::map ( const Jet &  jet,
const Adjustable &  current,
double *  buf,
unsigned  dim 
) const
privatepure virtual

◆ scale()

template<class Jet, class Adjustable>
double AbsFFTJetScaleCalculator< Jet, Adjustable >::scale ( const Jet &  jet,
const Adjustable &  current 
) const
inline

Definition at line 21 of file AbsFFTJetScaleCalculator.h.

21  {
22  const unsigned dim = buffer_.size();
23  double* buf = dim ? &buffer_[0] : static_cast<double*>(nullptr);
24  this->map(jet, current, buf, dim);
25  return (*functor)(buf, dim);
26  }
std::shared_ptr< npstat::AbsMultivariateFunctor > functor
virtual void map(const Jet &jet, const Adjustable &current, double *buf, unsigned dim) const =0

Member Data Documentation

◆ buffer_

template<class Jet, class Adjustable>
std::vector<double> AbsFFTJetScaleCalculator< Jet, Adjustable >::buffer_
mutableprivate

◆ functor

template<class Jet, class Adjustable>
std::shared_ptr<npstat::AbsMultivariateFunctor> AbsFFTJetScaleCalculator< Jet, Adjustable >::functor
private