Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:21:27

0001 #ifndef NPSTAT_ABSMULTIVARIATEFUNCTOR_HH_
0002 #define NPSTAT_ABSMULTIVARIATEFUNCTOR_HH_
0003 
0004 /*!
0005 // \file AbsMultivariateFunctor.h
0006 //
0007 // \brief Interface definition for multidimensional functors
0008 //
0009 // Author: I. Volobouev
0010 //
0011 // May 2010
0012 */
0013 
0014 namespace npstat {
0015   /**
0016     // Base class for a variety of multivariate functor-based calculations
0017     */
0018   struct AbsMultivariateFunctor {
0019     inline virtual ~AbsMultivariateFunctor() {}
0020 
0021     /** Function value */
0022     virtual double operator()(const double* point, unsigned dim) const = 0;
0023 
0024     /** Minimum expected dimensionality */
0025     virtual unsigned minDim() const = 0;
0026 
0027     /** 
0028         // Maximum expected dimensionality
0029         // (will typically be equal to the minimum)
0030         */
0031     virtual unsigned maxDim() const { return minDim(); }
0032   };
0033 }  // namespace npstat
0034 
0035 #endif  // NPSTAT_ABSMULTIVARIATEFUNCTOR_HH_