CMS 3D CMS Logo

LookupTable2d.h
Go to the documentation of this file.
1 #ifndef RecoJets_FFTJetAlgorithms_LookupTable2d_h
2 #define RecoJets_FFTJetAlgorithms_LookupTable2d_h
3 
4 #include <vector>
5 
6 namespace fftjetcms {
7  class LookupTable2d {
8  public:
10  unsigned nx, double xmin, double xmax, unsigned ny, double ymin, double ymax, const std::vector<double>& data);
11 
12  inline const std::vector<double>& data() const { return data_; }
13  inline unsigned nx() const { return nx_; }
14  inline unsigned ny() const { return ny_; }
15  inline double xmin() const { return xmin_; }
16  inline double xmax() const { return xmax_; }
17  inline double ymin() const { return ymin_; }
18  inline double ymax() const { return ymax_; }
19  inline double xstep() const { return bwx_; }
20  inline double ystep() const { return bwy_; }
21  inline double binValue(const unsigned ix, const unsigned iy) const { return data_.at(ix * ny_ + iy); }
22 
23  double closest(double x, double y) const;
24 
25  private:
26  LookupTable2d() = delete;
27 
28  std::vector<double> data_;
29  unsigned nx_;
30  unsigned ny_;
31  double xmin_;
32  double xmax_;
33  double ymin_;
34  double ymax_;
35  double bwx_;
36  double bwy_;
37  };
38 } // namespace fftjetcms
39 
40 #endif // RecoJets_FFTJetAlgorithms_LookupTable2d_h
double ymax() const
Definition: LookupTable2d.h:18
double xmax() const
Definition: LookupTable2d.h:16
double ymin() const
Definition: LookupTable2d.h:17
double xstep() const
Definition: LookupTable2d.h:19
double ystep() const
Definition: LookupTable2d.h:20
const std::vector< double > & data() const
Definition: LookupTable2d.h:12
double xmin() const
Definition: LookupTable2d.h:15
double closest(double x, double y) const
double binValue(const unsigned ix, const unsigned iy) const
Definition: LookupTable2d.h:21
unsigned ny() const
Definition: LookupTable2d.h:14
unsigned nx() const
Definition: LookupTable2d.h:13
std::vector< double > data_
Definition: LookupTable2d.h:28