casa
$Rev:20696$
|
00001 /* 00002 * SpecFitter.h 00003 * 00004 * Created on: May 16, 2012 00005 * Author: slovelan 00006 * 00007 * This abstract class is an interface that specifies the basic functionality that 00008 * spectral line profiling should implement. It is expected that it will be subclassed 00009 * by implementation classes to provide specialized spectral line fitting behavior. 00010 * 00011 */ 00012 00013 #ifndef SPECFITTER_H_ 00014 #define SPECFITTER_H_ 00015 00016 #include <QString> 00017 #include <casa/BasicSL/String.h> 00018 #include <casa/Arrays/Vector.h> 00019 namespace casa { 00020 00021 class QtCanvas; 00022 class SpecFitMonitor; 00023 class LogIO; 00024 template <class T> class ImageInterface; 00025 00026 class SpecFitter { 00027 public: 00028 SpecFitter(); 00029 virtual ~SpecFitter(); 00030 00031 virtual void specLineFit() = 0; 00032 virtual void setUnits( QString units ) = 0; 00033 virtual void setRange(float start, float end )=0; 00034 virtual void resetSpectralFitter() = 0; 00035 00036 virtual void setCanvas( QtCanvas* pixelCanvas ); 00037 virtual void setSpecFitMonitor( SpecFitMonitor* monitor ); 00038 virtual void setLogger( LogIO* log ); 00039 virtual void plotMainCurve(); 00040 00041 virtual QString getFileName(); 00042 virtual void logWarning(String msg ); 00043 virtual void postStatus( String status ); 00044 virtual Vector<Float> getXValues() const; 00045 virtual Vector<Float> getYValues() const; 00046 virtual Vector<Float> getZValues() const; 00047 virtual QString getYUnit() const; 00048 virtual QString getYUnitPrefix() const; 00049 virtual String getXAxisUnit() const; 00050 virtual const ImageInterface<Float>* getImage() const; 00051 virtual const String getPixelBox() const; 00052 00053 protected: 00054 QtCanvas* pixelCanvas; 00055 SpecFitMonitor* specFitMonitor; 00056 LogIO* logger; 00057 }; 00058 00059 } /* namespace casa */ 00060 #endif /* SPECFITTER_H_ */