Commit ae29cd19a14deb8e096b1650452b5cf50e41af1e
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 | ... | ... |