00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _plExternProbFuncAtKernel_h_
00019 #define _plExternProbFuncAtKernel_h_
00020
00021 #include <plValues.h>
00022
00023
00024
00025 class kplExternalProbFunction
00026 {
00027 protected:
00030 virtual void Output(ostream &out) const;
00031
00032 protected:
00034 string name;
00035
00036 list <kplVariable*> variables;
00037
00038 plValues *input_values;
00039 public:
00040 kplExternalProbFunction(){};
00041 kplExternalProbFunction(const list <kplVariable*>& variables,
00042 const string& func_name);
00043
00044 virtual ~kplExternalProbFunction();
00045
00046 const list <kplVariable*>& get_variables() const;
00047
00048 #ifdef PL_PARA_WITH_NEWF
00049 virtual plProbValue operator()(const plDataValues& values) const = 0;
00050 #else
00051 virtual plProbValue operator()(const plValues& values) const = 0;
00052 #endif
00053
00054 void set_variables(const list <kplVariable*> variables);
00055
00056 const string& get_name()const {return name;};
00057
00058 friend ostream& operator<<( ostream &out, const kplExternalProbFunction &function);
00059 };
00060
00061
00062
00063
00064
00065 #endif