Tomato
OxFactoryOfFitters.h
Go to the documentation of this file.
1 
7 #ifndef Tomato_OXFACTORYOFFitters_H
8 #define Tomato_OXFACTORYOFFitters_H
9 
10 #include "CmakeConfigForTomato.h"
11 #include "tomatolib_export.h"
12 
13 #include "OxFitter.h"
14 
15 
16 namespace Ox {
17 
22  template<typename TYPE>
23  class TomatoOptions;
24 
25  static const char *fittersTypeNames[] = {
26  "AmoebaVnl",
27  "LevMarVnl",
28  "AmoebaPrivateNr2",
29  "LevMarLmfit",
30  "LevMarTomatoFit",
31  "RobustTomatoFit"
32  };
33 
34  enum fittersType_t {
35  AmoebaVnl = 0,
36  LevMarVnl = 1,
37  AmoebaPrivateNr2 = 2,
38  LevMarLmfit = 3,
39  LevMarTomatoFit = 4,
40  RobustTomatoFit = 5,
41  lastFitterType = RobustTomatoFit
42  };
43 
44  static int fittersAvailability[] = {
45 #ifdef USE_VNL
46  1, // AmoebaVnl
47  1, // LevMarVnl
48 #else
49  0, // AmoebaVnl
50  0, // LevMarVnl
51 #endif
52 #ifdef USE_PRIVATE_NR2
53  1, // AmoebaPrivateNr2
54 #else
55  0, // AmoebaPrivateNr2
56 #endif
57 
58 #ifdef USE_LMFIT
59  1, // LevMarLmfit
60 #else
61  0, // LevMarLmfit
62 #endif
63 #ifdef USE_TOMATOFIT
64  1, // LevMarTomatoFit
65  1 // RobustTomatoFit
66 #else
67  0, // LevMarTomatoFit
68  0 // RobustTomatoFit
69 #endif
70  };
71 
72  template<typename TYPE>
74  public:
75 
76  static Fitter<TYPE>* newByFactory(TomatoOptions<TYPE> *opts);
77 
78  static void disp(int fitting_method = -1);
79 
80  };
81 
82 } // namespace Ox
83 
84 
85 #ifndef TOMATOLIB_COMPILED
86 #include "OxFactoryOfFitters.hxx"
87 #endif // TOMATOLIB_COMPILED
88 
89 #endif //Tomato_OXFACTORYOFFitters_H
Definition: OxFactoryOfFitters.h:73
Definition: OxFactoryOfCalculators.h:17
Definition: OxFitter.h:22
Definition: OxCalculator.h:19