openModeller
Version 1.4.0
|
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