code/include/NewWave/PixelDefinition.hh
Go to the documentation of this file.
00001 #ifndef NEWWAVE_PIXEL_DEFINITION_HH 00002 #define NEWWAVE_PIXEL_DEFINITION_HH 00003 00004 #include <vector> 00005 00006 #include "NewWave/PixelArray.hh" 00007 00008 namespace NewWave{ 00009 00010 using std::size_t; 00011 using std::vector; 00012 00014 00020 class PixelDefinition{ 00021 00022 public: 00023 00025 00042 PixelDefinition(size_t nBins, double yMax, bool allowPadding=false); 00043 00045 00062 PixelDefinition(size_t nBinsPhi, double phiMin, double phiMax, 00063 size_t nBinsY, double yMin, double yMax, 00064 bool allowPhiPadding=false); 00065 00067 00074 PixelArray makeEmptyPixelArray()const; 00075 00077 size_t phiPixelIndex(double phi)const; 00078 00080 size_t yPixelIndex(double y)const; 00081 00083 size_t nPixels()const; 00084 00086 double yMin()const; 00087 00089 double yMax()const; 00090 00092 00098 bool covers(double y, double phi)const; 00099 00101 00108 size_t nLevels()const; 00109 00110 private: 00111 00112 size_t _nBinsPhi; 00113 size_t _nBinsY; 00114 size_t _nBins; 00115 00116 size_t _padPhi; 00117 size_t _padY; 00118 00119 mutable double _rangePhi; 00120 mutable double _rangeY; 00121 00122 double _phiToBin; 00123 double _yToBin; 00124 00125 double _phiMin; 00126 double _yMin; 00127 00128 double _phiMax; 00129 double _yMax; 00130 00131 double _phi0; 00132 double _y0; 00133 00134 mutable size_t _nLevels; 00135 mutable bool _gotLevels; 00136 00137 vector<double> _phiAxis; 00138 vector<double> _yAxis; 00139 00140 }; 00141 } 00142 00143 #endif Generated on Wed Aug 23 2017 12:59:15 for New Wave - Noise Elimination With Wavelets At Vast Energies by 1.7.6.1 |