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  CoordinateSelector() = delete;
30 
31  inline ~CoordinateSelector() override {}
32 
33  inline double operator()(const double* point, const unsigned dim) const override {
34  if (dim <= index_)
36  "In npstat::CoordinateSelector::operator(): "
37  "input array dimensionality is too small");
38  return point[index_];
39  }
40  inline unsigned minDim() const override { return index_ + 1U; }
41  inline unsigned maxDim() const override { return UINT_MAX; }
42 
43  private:
44  unsigned index_;
45  };
46 } // namespace npstat
47 
48 #endif // NPSTAT_COORDINATESELECTOR_HH_
unsigned maxDim() const override
unsigned minDim() const override
Exceptions for the npstat namespace.
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