Commit ae29cd19a14deb8e096b1650452b5cf50e41af1e

Authored by Michael Mayer
1 parent ff26f478

Get TS computation flag from GModel

Showing 1 changed file with 7 additions and 11 deletions
src/ctlike/ctlike.cpp
... ... @@ -281,27 +281,23 @@ void ctlike::run(void)
281 281 double logL_src = m_logL;
282 282 GModels models_orig = m_obs.models();
283 283  
284   - // Store models with free parameters
285   - std::vector<std::string> free_srcs;
  284 + // Store models for which TS should be computed
  285 + std::vector<std::string> ts_srcs;
286 286 GModels models = m_obs.models();
287 287 for (int i = 0; i < models.size(); ++i) {
288 288 GModel* model = models[i];
289   - for (int j = 0; j < model->size(); ++j) {
290   - GModelPar par = model->at(j);
291   - if (par.is_free()){
292   - free_srcs.push_back(model->name());
293   - break;
294   - }
  289 + if (model->tscalc()) {
  290 + ts_srcs.push_back(model->name());
295 291 }
296 292 }
297 293  
298 294 // Loop over stored models, remove source and refit
299   - for (int i = 0; i < free_srcs.size(); ++i) {
300   - models.remove(free_srcs[i]);
  295 + for (int i = 0; i < ts_srcs.size(); ++i) {
  296 + models.remove(ts_srcs[i]);
301 297 m_obs.models(models);
302 298 double logL_nosrc = reoptimize_lm();
303 299 double ts = 2.0 * (logL_src-logL_nosrc);
304   - models_orig[free_srcs[i]]->ts(ts);
  300 + models_orig[ts_srcs[i]]->ts(ts);
305 301 models = models_orig;
306 302 }
307 303  
... ...