00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef MODEL_FACTORY_H
00028 #define MODEL_FACTORY_H
00029
00030 #ifndef BALL_CONCEPT_FACTORY_H
00031 #include <BALL/CONCEPT/factory.h>
00032 #endif
00033
00034 #ifndef MODEL
00035 #include <BALL/QSAR/Model.h>
00036 #endif
00037
00038 #ifndef QSARH
00039 #include <BALL/QSAR/QSARData.h>
00040 #endif
00041
00042 namespace BALL
00043 {
00044 namespace QSAR
00045 {
00046
00047
00050 template <typename T>
00051 class ModelFactory
00052 {
00053 public:
00054
00055 static T* create(const QSARData& q)
00056 {
00057 return new T(q);
00058 }
00059
00060 static T* createKernel1(const QSARData& q, int k, double p1, double p2)
00061 {
00062 return new T(q,k,p1,p2);
00063 }
00064
00065 static T* createKernel2(const QSARData& q, String s1, String s2)
00066 {
00067 return new T(q,s1,s2);
00068 }
00069 };
00070 }
00071 }
00072
00073 #endif // QSAR_FACTORY_H