CMS 3D CMS Logo

CoordinateSelector.h
Go to the documentation of this file.
1 #ifndef NPSTAT_COORDINATESELECTOR_HH_
2 #define NPSTAT_COORDINATESELECTOR_HH_
3 
15 #include <climits>
17 
19 
20 namespace npstat {
26  public:
27  inline explicit CoordinateSelector(const unsigned i) : index_(i) {}
28 
29  inline ~CoordinateSelector() override {}
30 
31  inline double operator()(const double* point, const unsigned dim) const override {
32  if (dim <= index_)
34  "In npstat::CoordinateSelector::operator(): "
35  "input array dimensionality is too small");
36  return point[index_];
37  }
38  inline unsigned minDim() const override { return index_ + 1U; }
39  inline unsigned maxDim() const override { return UINT_MAX; }
40 
41  private:
42  CoordinateSelector() = delete;
43  unsigned index_;
44  };
45 } // namespace npstat
46 
47 #endif // NPSTAT_COORDINATESELECTOR_HH_
unsigned maxDim() const override
Exceptions for the npstat namespace.
unsigned minDim() const override
CoordinateSelector(const unsigned i)
Interface definition for multidimensional functors.
double operator()(const double *point, const unsigned dim) const override
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5