Commit 950dc55694af0a14b95e2990b1d707f154e1386d

Authored by Jürgen Knödlseder
1 parent 473731bc

Allocate optimizer upon construction.

Showing 1 changed file with 11 additions and 4 deletions
src/cterror/cterror.cpp
@@ -232,9 +232,6 @@ void cterror::run(void) @@ -232,9 +232,6 @@ void cterror::run(void)
232 log.header1("Compute best-fit likelihood"); 232 log.header1("Compute best-fit likelihood");
233 } 233 }
234 234
235 - // Allocate optimizer  
236 - m_opt = new GOptimizerLM();  
237 -  
238 // Optimize and save best log-likelihood 235 // Optimize and save best log-likelihood
239 m_obs.optimize(*m_opt); 236 m_obs.optimize(*m_opt);
240 m_obs.errors(*m_opt); 237 m_obs.errors(*m_opt);
@@ -414,6 +411,16 @@ void cterror::init_members(void) @@ -414,6 +411,16 @@ void cterror::init_members(void)
414 m_model_par = NULL; 411 m_model_par = NULL;
415 m_opt = NULL; 412 m_opt = NULL;
416 413
  414 + // Allocate LM optimizer
  415 + GOptimizerLM* opt = new GOptimizerLM();
  416 +
  417 + // Set optimizer parameters
  418 + opt->max_iter(m_max_iter);
  419 + opt->max_stalls(10);
  420 +
  421 + // Set optimizer pointer
  422 + m_opt = opt;
  423 +
417 // Return 424 // Return
418 return; 425 return;
419 } 426 }
@@ -436,8 +443,8 @@ void cterror::copy_members(const cterror& app) @@ -436,8 +443,8 @@ void cterror::copy_members(const cterror& app)
436 m_obs = app.m_obs; 443 m_obs = app.m_obs;
437 m_dlogL = app.m_dlogL; 444 m_dlogL = app.m_dlogL;
438 m_best_logL = app.m_best_logL; 445 m_best_logL = app.m_best_logL;
  446 + m_opt = app.m_opt->clone();
439 m_model_par = NULL; 447 m_model_par = NULL;
440 - m_opt = NULL;  
441 448
442 // Return 449 // Return
443 return; 450 return;