npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
AbsResponseBoxBuilder.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_ABSRESPONSEBOXBUILDER_HH_
2 #define NPSTAT_ABSRESPONSEBOXBUILDER_HH_
3 
4 /*!
5 // \file AbsResponseBoxBuilder.hh
6 //
7 // \brief Base class for building response boxes for multivariate density
8 // estimation in regression context
9 //
10 // Author: I. Volobouev
11 //
12 // July 2015
13 */
14 
15 #include <utility>
16 
17 #include "npstat/nm/BoxND.hh"
19 
20 namespace npstat {
21  template <class Point>
23  {
24  public:
25  typedef std::pair<const Point*, double> WeightedPointPtr;
26  typedef std::vector<WeightedPointPtr> WeightedPtrVec;
27 
28  inline virtual ~AbsResponseBoxBuilder() {}
29 
30  virtual BoxND<double> makeResponseBox(
31  unsigned long uniqueId,
32  const double* predictorCoords, unsigned nPredictors,
33  const BoxND<double>& predictorBox,
34  std::vector<OrderedPointND<Point> >& data) const = 0;
35 
36  virtual BoxND<double> makeResponseBoxW(
37  unsigned long uniqueId,
38  const double* predictorCoords, unsigned nPredictors,
39  const BoxND<double>& predictorBox, const WeightedPtrVec& data,
40  const unsigned* dimsToUse, unsigned nDimsToUse) const = 0;
41  };
42 }
43 
44 #endif // NPSTAT_ABSRESPONSEBOXBUILDER_HH_
Template to represent rectangles, boxes, and hyperboxes.
Multidimensional points which can be sorted according to multiple sorting criteria.
Definition: AbsResponseBoxBuilder.hh:23
Definition: OrderedPointND.hh:40
Definition: AbsArrayProjector.hh:14