LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Histogram.h
Go to the documentation of this file.
1 #ifndef MeasAlgoShapeletHistogram_H
2 #define MeasAlgoShapeletHistogram_H
3 
4 #include <vector>
5 #include <iostream>
6 
7 namespace lsst {
8 namespace meas {
9 namespace algorithms {
10 namespace shapelet {
11 
12  template <typename T>
13  class Histogram {
14 
15  public:
16 
17  Histogram(double binSize, double minValue, double maxValue);
19 
20  void add(double value,const T& ref);
21  double findPeak(double minVal, double maxVal) const;
22  bool hasSinglePeak(double minVal, double maxVal) const;
23  double findValley(double minVal, double maxVal) const;
24  double findFirstValueAfter(double start) const;
25  double findFirstValleyAfter(double val1,bool hasPoissonNoise=false) const;
26  double findFirstValleyBefore(double val1,bool hasPoissonNoise=false) const;
27  double findFirstPeakAfter(double val1,bool hasPoissonNoise=false) const;
28  double findFirstPeakBefore(double val1,bool hasPoissonNoise=false) const;
29  int getTotalCountBefore(double val1) const;
30  int getTotalCountAfter(double val1) const;
31  int operator[](double value) const;
32  double findThresh(double minVal, double maxVal) const;
33  std::vector<T> getRefsInRange(double min, double max) const;
34  std::vector<double> getValuesInRange(double min, double max) const;
35  int getRefinedPeakCount(double* peak) const;
36  int getRefinedValleyCount(double* valley) const;
37  void print(std::ostream& fout,double val1=-1.e10,double val2=1.e10) const;
38 
39  private:
40 
41  int getCount(int i) const;
42  int index(double value) const;
43  double value(int i) const;
44 
46  std::vector<std::vector<T> > _refs;
47  std::vector<std::vector<double> > _values;
48  };
49 
50 }}}}
51 
52 #endif
int getRefinedPeakCount(double *peak) const
Definition: Histogram.cc:271
bool hasSinglePeak(double minVal, double maxVal) const
Definition: Histogram.cc:96
double findFirstPeakBefore(double val1, bool hasPoissonNoise=false) const
Definition: Histogram.cc:226
int getTotalCountBefore(double val1) const
Definition: Histogram.cc:250
double findFirstValleyAfter(double val1, bool hasPoissonNoise=false) const
Definition: Histogram.cc:140
double min
Definition: attributes.cc:216
std::vector< std::vector< double > > _values
Definition: Histogram.h:47
double findFirstValleyBefore(double val1, bool hasPoissonNoise=false) const
Definition: Histogram.cc:167
double max
Definition: attributes.cc:218
Histogram(double binSize, double minValue, double maxValue)
Definition: Histogram.cc:38
double findPeak(double minVal, double maxVal) const
Definition: Histogram.cc:76
double findFirstPeakAfter(double val1, bool hasPoissonNoise=false) const
Definition: Histogram.cc:204
std::vector< T > getRefsInRange(double min, double max) const
Definition: Histogram.cc:448
double findValley(double minVal, double maxVal) const
Definition: Histogram.cc:113
void print(std::ostream &fout, double val1=-1.e10, double val2=1.e10) const
Definition: Histogram.cc:517
double findFirstValueAfter(double start) const
Definition: Histogram.cc:194
int getTotalCountAfter(double val1) const
Definition: Histogram.cc:260
int getRefinedValleyCount(double *valley) const
Definition: Histogram.cc:302
std::vector< double > getValuesInRange(double min, double max) const
Definition: Histogram.cc:482
void add(double value, const T &ref)
Definition: Histogram.cc:61
double findThresh(double minVal, double maxVal) const
Definition: Histogram.cc:347
std::vector< std::vector< T > > _refs
Definition: Histogram.h:46