npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
AllSymbetaParams1D.hh
Go to the documentation of this file.
1 #ifndef NPSTAT_ALLSYMBETAPARAMS1D_HH_
2 #define NPSTAT_ALLSYMBETAPARAMS1D_HH_
3 
4 /*!
5 // \file AllSymbetaParams1D.hh
6 //
7 // \brief Complete set of parameters for building 1-d filters from the
8 // symmetric beta family
9 //
10 // Author: I. Volobouev
11 //
12 // October 2019
13 */
14 
15 #include <climits>
16 
17 #include "geners/ClassId.hh"
19 
20 namespace npstat {
22  {
23  public:
24  inline AllSymbetaParams1D()
25  : bandwidth_(-1.0), degree_(-1.0), binwidth_(-1.0),
26  nbins_(0), excludedBin_(0), symbetaPower_(0),
27  excludeCentralPoint_(false) {}
28 
30  int symbetaPower, double bandwidth, double degree,
31  unsigned nbins, double binwidth, const BoundaryHandling& bh,
32  unsigned excludedBin = UINT_MAX, bool excludeCentralPoint = false);
33 
34  bool operator<(const AllSymbetaParams1D& r) const;
35 
36  inline bool operator>(const AllSymbetaParams1D& r) const
37  {return r < *this;}
38 
39  bool operator==(const AllSymbetaParams1D& r) const;
40 
41  inline bool operator!=(const AllSymbetaParams1D& r) const
42  {return !(*this == r);}
43 
44  // I/O methods needed for writing
45  inline gs::ClassId classId() const {return gs::ClassId(*this);}
46  bool write(std::ostream& of) const;
47 
48  // I/O methods needed for reading
49  static inline const char* classname()
50  {return "npstat::Private::AllSymbetaParams1D";}
51  static inline unsigned version() {return 1;}
52  static void restore(const gs::ClassId& id, std::istream& in,
53  AllSymbetaParams1D* ptr);
54 
55  inline double get_bandwidth() const {return bandwidth_;}
56  inline double get_degree() const {return degree_;}
57  inline double get_binwidth() const {return binwidth_;}
58  inline unsigned get_nbins() const {return nbins_;}
59  inline unsigned get_excludedBin() const {return excludedBin_;}
60  inline int get_symbetaPower() const {return symbetaPower_;}
61  inline const BoundaryHandling& get_bm() const {return bm_;}
62  inline bool get_excludeCentralPoint() const
63  {return excludeCentralPoint_;}
64 
65  private:
66  double bandwidth_;
67  double degree_;
68  double binwidth_;
69  unsigned nbins_;
70  unsigned excludedBin_;
71  int symbetaPower_;
72  BoundaryHandling bm_;
73  bool excludeCentralPoint_;
74  };
75  }
76 
77 #endif // NPSTAT_ALLSYMBETAPARAMS1D_HH_
API for LOrPE boundary handling methods.
Definition: AllSymbetaParams1D.hh:22
Definition: BoundaryHandling.hh:21
Definition: AbsArrayProjector.hh:14