npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
AbsResponseIntervalBuilder.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_ABSRESPONSEINTERVALBUILDER_HH_
2 #define NPSTAT_ABSRESPONSEINTERVALBUILDER_HH_
3 
4 /*!
5 // \file AbsResponseIntervalBuilder.hh
6 //
7 // \brief Base class for building response boxes for univariate density
8 // estimation in the regression context
9 //
10 // Author: I. Volobouev
11 //
12 // July 2015
13 */
14 
15 #include <vector>
16 #include <utility>
17 
18 #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 ~AbsResponseIntervalBuilder() {}
29 
30  virtual Interval<double> makeResponseInterval(
31  unsigned long uniqueId,
32  const double* predictorCoords, unsigned nPredictors,
33  const BoxND<double>& predictorBox,
34  std::vector<typename Point::value_type>& data) const = 0;
35 
36  virtual Interval<double> makeResponseIntervalW(
37  unsigned long uniqueId,
38  const double* predictorCoords, unsigned nPredictors,
39  const BoxND<double>& predictorBox, const WeightedPtrVec& data,
40  unsigned responseDimToUse) const = 0;
41  };
42 }
43 
44 #endif // NPSTAT_ABSRESPONSEINTERVALBUILDER_HH_
Template to represent rectangles, boxes, and hyperboxes.
Definition: AbsResponseIntervalBuilder.hh:23
Definition: Interval.hh:29
Definition: AbsArrayProjector.hh:14