00001 00012 // for truncation warning in debug mode 00013 #ifdef _MSC_VER 00014 #include "msdevstudio/MSconfig.h" 00015 #endif 00016 00017 #include "functions/FunctionFactory.h" 00018 00019 // List of default functions 00020 #include "functions/BrokenPowerLaw.h" 00021 #include "functions/ConstantF.h" 00022 #include "functions/Erfc.h" 00023 #include "functions/Exponential.h" 00024 #include "functions/Gaussian.h" 00025 #include "functions/Landau.h" 00026 #include "functions/Linear.h" 00027 #include "functions/LinearSumFunction.h" 00028 #include "functions/LogNormal.h" 00029 #include "functions/PowerLaw.h" 00030 #include "functions/Quadratic.h" 00031 #include "functions/Quadratic2.h" 00032 #include "functions/Chi2Dist.h" 00033 00034 FunctionFactory * FunctionFactory::s_instance = 0; 00035 00036 FunctionFactory::FunctionFactory () 00037 { 00038 } 00039 00040 FunctionFactory * FunctionFactory::instance () 00041 { 00042 if ( s_instance == 0 ) { 00043 s_instance = new FunctionFactory (); 00044 s_instance->initialize (); 00045 } 00046 return s_instance; 00047 } 00048 00049 void FunctionFactory::initialize () 00050 { 00051 add ( new Gaussian () ); 00052 add ( new Erfc () ); 00053 add ( new Exponential () ); 00054 add ( new Landau () ); 00055 add ( new Linear () ); 00056 add ( new LinearSumFunction () ); 00057 add ( new LogNormal () ); 00058 add ( new PowerLaw () ); 00059 add ( new BrokenPowerLaw () ); 00060 add ( new Quadratic () ); 00061 add ( new Quadratic2 () ); 00062 add ( new ConstantF () ); 00063 add ( new Chi2Dist () ); 00064 }