newwave is hosted by Hepforge, IPPP Durham

New Wave - Noise Elimination With Wavelets At Vast Energies  0.1.0
code/include/NewWave/WaveletBaseEvent.hh
Go to the documentation of this file.
00001 #ifndef NEWWAVE_WAVELET_BASE_EVENT_HH
00002 #define NEWWAVE_WAVELET_BASE_EVENT_HH
00003 
00004 #include "NewWave/WaveletCoefficient.fh"
00005 #include "NewWave/FrequencyBand.fh"
00006 #include "NewWave/PixelDefinition.hh"
00007 
00008 #include <functional>
00009 
00010 namespace NewWave{
00011   
00017   class WaveletBaseEvent{
00018     
00019   public:
00020 
00021     virtual ~WaveletBaseEvent(){}
00022     
00023     virtual const WaveletCoefficients &coefficients() const = 0;
00024     
00025     virtual const FrequencyBands &frequencyBands() const = 0;
00026 
00027     virtual const FrequencyBand &frequencyBand(const WaveletCoefficient &coeff) const = 0;
00028     
00029     virtual const PixelDefinition &pixelDefn() const = 0;
00030     
00031     virtual const PixelArray &pixels() const = 0;
00032     
00033     virtual const PixelArray &originalPixels() const = 0;
00034     
00035     virtual void setPileUpThreshold(double threshold) = 0;
00036     
00037     virtual void setScaleParticles(bool doScale) = 0;
00038     
00039     virtual void scale(const std::function<double (const WaveletCoefficient&)> &scaler) = 0;
00040     
00041     void setEvent(WaveletCoefficient &coeff) const;
00042     
00043     
00044     
00045   };
00046   
00047 }
00048 
00049 #endif