openModeller  Version 1.4.0
Normalizer.hh
Go to the documentation of this file.
00001 
00027 #ifndef _NORMALIZER_HH
00028 #define _NORMALIZER_HH
00029 
00030 #include <openmodeller/Configurable.hh>
00031 #include <openmodeller/Sample.hh>
00032 // Note: avoid including Sampler.hh because of cross reference between the two classes. 
00033 //       However it needs to be included in the .cpp of all implementations of this interface.
00034 
00035 class SamplerImpl; // forward declaration
00036 
00037 class Normalizer : public Configurable {
00038 
00039 public:
00040 
00041   // Note: not using ConstSamplerPtr to avoid compilation problems. It was 
00042   //       replaced here by the associated definition. See the ConstSamplerPtr 
00043   //       typedef in Sampler.hh.
00044   virtual void computeNormalization( const ReferenceCountedPointer<const SamplerImpl>& samplerPtr ) = 0;
00045 
00046   virtual void normalize( Sample * samplePtr ) = 0;
00047 
00048   // Should return a pointer to copy of the object
00049   virtual Normalizer * getCopy() = 0;
00050 };
00051 
00052 #endif