Commit 492ab0c7bcdf0d226ff0fb062930ece5130c2285
1 parent
d9f99bde
Put scale parameter on stack in GModel::scale(GModelPar&) method (#2892)
Showing
1 changed file
with
16 additions
and
2 deletions
src/model/GModel.cpp
| ... | ... | @@ -453,6 +453,7 @@ void GModel::scale(const GModelPar& par) |
| 453 | 453 | found = true; |
| 454 | 454 | m_scales[i] = par; |
| 455 | 455 | m_scales[i].name(instrument); |
| 456 | + m_scales[i].has_grad(true); | |
| 456 | 457 | break; |
| 457 | 458 | } |
| 458 | 459 | } |
| ... | ... | @@ -460,9 +461,21 @@ void GModel::scale(const GModelPar& par) |
| 460 | 461 | // If instrument has not been found then append it now to the list |
| 461 | 462 | // of instruments. |
| 462 | 463 | if (!found) { |
| 464 | + | |
| 465 | + // Push scale parameter in list | |
| 463 | 466 | m_scales.push_back(par); |
| 464 | - m_scales[m_scales.size()-1].name(instrument); | |
| 465 | - } | |
| 467 | + | |
| 468 | + // Get index of last scale parameter | |
| 469 | + int i = m_scales.size()-1; | |
| 470 | + | |
| 471 | + // Set instrument name and signal availability of gradient | |
| 472 | + m_scales[i].name(instrument); | |
| 473 | + m_scales[i].has_grad(true); | |
| 474 | + | |
| 475 | + // Push scale parameter on parameter stack | |
| 476 | + m_pars.push_back(&m_scales[i]); | |
| 477 | + | |
| 478 | + } // endif: new scale parameter | |
| 466 | 479 | |
| 467 | 480 | // Return |
| 468 | 481 | return; |
| ... | ... | @@ -822,6 +835,7 @@ void GModel::read_scales(const GXmlElement& xml) |
| 822 | 835 | scale.name(gammalib::strip_whitespace(par->attribute("name"))); |
| 823 | 836 | scale.has_grad(true); |
| 824 | 837 | m_scales.push_back(scale); |
| 838 | + m_pars.push_back(&m_scales[m_scales.size()-1]); | |
| 825 | 839 | } |
| 826 | 840 | |
| 827 | 841 | } | ... | ... |