00001 #ifndef SOUTWOGAUSSIAN_H 00002 #define SOUTWOGAUSSIAN_H 00003 00004 #include "soubase.h" 00005 #include "objects1d.h" 00006 00007 #ifndef SWIG 00008 enum TwoGaussianParameter {Fraction1,Sigma1,Sigma2}; 00009 #endif 00010 00011 class C2GaussianSource: public CSourceFtnBase, public CObject1d 00012 { 00013 00014 public: 00015 C2GaussianSource(); 00016 ~C2GaussianSource(); 00017 00018 double getValue(double r) const; 00019 double getError(double r) const{return 0.;} 00020 00021 void SetParameter(TwoGaussianParameter ParameterName,double value); 00022 00023 // read/write to parameter map 00024 virtual bool Read(const parameterMap& s); 00025 virtual bool Write(parameterMap& s); 00026 00027 private: 00028 double mFraction1; 00029 double mSigma1; 00030 double mSigma2; 00031 double Function(double r); 00032 }; 00033 00034 typedef CLocator<C2GaussianSource> CLo2GaussianSource; 00035 00036 #endif