npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
DummyCompositeDistroBuilder.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_DUMMYCOMPOSITEDISTROBUILDER_HH_
2 #define NPSTAT_DUMMYCOMPOSITEDISTROBUILDER_HH_
3 
4 /*!
5 // \file DummyCompositeDistroBuilder.hh
6 //
7 // \brief An implementation of AbsCompositeDistroBuilder useful for testing
8 //
9 // Author: I. Volobouev
10 //
11 // July 2015
12 */
13 
16 
17 namespace npstat {
18  template <class Point>
20  {
21  public:
23  typedef typename B::WeightedPtrVec WeightedPtrVec;
24  typedef typename B::WeightedValueVec WeightedValueVec;
25 
26  inline virtual ~DummyCompositeDistroBuilder() {}
27 
29  unsigned long, const double*, unsigned,
30  const BoxND<double>&, std::vector<OrderedPointND<Point> >&) const
31  {return 0;}
32 
34  unsigned long, const double*, unsigned,
35  const BoxND<double>&, const WeightedPtrVec&,
36  const unsigned*, unsigned) const
37  {return 0;}
38 
39  private:
40  inline BoxND<double> makeResponseBox(
41  unsigned long, const double*, unsigned,
42  const BoxND<double>&, std::vector<OrderedPointND<Point> >&) const
44  inline BoxND<double> makeResponseBoxW(
45  unsigned long, const double*, unsigned,
46  const BoxND<double>&, const WeightedPtrVec&,
47  const unsigned*, const unsigned nDimsToUse) const
48  {return BoxND<double>(nDimsToUse);}
49  inline AbsDistribution1D* buildMarginal(
50  unsigned long, unsigned, const Interval<double>&,
51  const std::vector<typename Point::value_type>&) const
52  {return 0;}
53  inline AbsDistributionND* buildCopula(
54  unsigned long, std::vector<OrderedPointND<Point> >&) const
55  {return 0;}
56  inline AbsDistribution1D* buildMarginalW(
57  unsigned long, unsigned, unsigned,
58  const Interval<double>&, const WeightedValueVec&) const
59  {return 0;}
60  inline AbsDistributionND* buildCopulaW(
61  unsigned long, const WeightedPtrVec&,
62  const unsigned*, unsigned) const
63  {return 0;}
64  };
65 }
66 
67 #endif // NPSTAT_DUMMYCOMPOSITEDISTROBUILDER_HH_
Interface definition for classes which build composite distrubutions.
Compile-time dimensionality detector for classes like std::array.
Definition: AbsCompositeDistroBuilder.hh:30
Definition: CompositeDistributionND.hh:28
Definition: DummyCompositeDistroBuilder.hh:20
CompositeDistributionND * build(unsigned long, const double *, unsigned, const BoxND< double > &, std::vector< OrderedPointND< Point > > &) const
Definition: DummyCompositeDistroBuilder.hh:28
CompositeDistributionND * buildWeighted(unsigned long, const double *, unsigned, const BoxND< double > &, const WeightedPtrVec &, const unsigned *, unsigned) const
Definition: DummyCompositeDistroBuilder.hh:33
Definition: OrderedPointND.hh:40
Definition: AbsArrayProjector.hh:14
Definition: PointDimensionality.hh:20