Skip to content

Commit 0213076

Browse files
committed
[Minuit2] Refactor to initialize class members in the class declaration
This makes the code less error prone, because initialization can't be forgotten or be inconsistent between constructors.
1 parent bf591da commit 0213076

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

math/minuit2/inc/Minuit2/MnUserParameterState.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ class MnUserParameterState {
3838
/// default constructor (invalid state)
3939
MnUserParameterState()
4040
: fValid(false),
41-
fCovarianceValid(false),
4241
fCovStatus(-1),
43-
fFVal(0),
44-
fEDM(0),
45-
fNFcn(0),
4642
fParameters(MnUserParameters()),
4743
fCovariance(MnUserCovariance()),
4844
fIntParameters(std::vector<double>()),
@@ -157,11 +153,11 @@ class MnUserParameterState {
157153

158154
private:
159155
bool fValid;
160-
bool fCovarianceValid;
156+
bool fCovarianceValid = false;
161157
int fCovStatus; // covariance matrix status
162-
double fFVal;
163-
double fEDM;
164-
unsigned int fNFcn;
158+
double fFVal = 0.;
159+
double fEDM = 0.;
160+
unsigned int fNFcn = 0;
165161

166162
MnUserParameters fParameters;
167163
MnUserCovariance fCovariance;

math/minuit2/src/MnUserParameterState.cxx

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,11 @@ namespace Minuit2 {
2020
// construct from user parameters (before minimization)
2121
//
2222
MnUserParameterState::MnUserParameterState(std::span<const double> par, std::span<const double> err)
23-
: fValid(true),
24-
fCovarianceValid(false),
25-
fCovStatus(-1),
26-
fFVal(0.),
27-
fEDM(0.),
28-
fNFcn(0),
29-
fParameters(MnUserParameters(par, err)),
30-
fIntParameters(par.begin(), par.end())
23+
: fValid(true), fCovStatus(-1), fParameters(MnUserParameters(par, err)), fIntParameters(par.begin(), par.end())
3124
{
3225
}
3326

34-
MnUserParameterState::MnUserParameterState(const MnUserParameters &par)
35-
: fValid(true), fCovarianceValid(false), fCovStatus(-1), fFVal(0.), fEDM(0.), fNFcn(0), fParameters(par)
27+
MnUserParameterState::MnUserParameterState(const MnUserParameters &par) : fValid(true), fCovStatus(-1), fParameters(par)
3628
{
3729
// construct from user parameters (before minimization)
3830

@@ -50,7 +42,7 @@ MnUserParameterState::MnUserParameterState(const MnUserParameters &par)
5042
// construct from user parameters + errors (before minimization)
5143
//
5244
MnUserParameterState::MnUserParameterState(std::span<const double> par, std::span<const double> cov, unsigned int nrow)
53-
: fValid(true), fCovStatus(-1), fFVal(0.), fEDM(0.), fNFcn(0), fIntParameters(par.begin(), par.end())
45+
: fValid(true), fCovStatus(-1), fIntParameters(par.begin(), par.end())
5446
{
5547
// construct from user parameters + errors (before minimization) using std::vector for parameter error and // an
5648
// std::vector of size n*(n+1)/2 for the covariance matrix and n (rank of cov matrix)
@@ -66,7 +58,7 @@ MnUserParameterState::MnUserParameterState(std::span<const double> par, std::spa
6658
}
6759

6860
MnUserParameterState::MnUserParameterState(std::span<const double> par, const MnUserCovariance &cov)
69-
: fValid(true), fCovStatus(-1), fFVal(0.), fEDM(0.), fNFcn(0), fIntParameters(par.begin(), par.end())
61+
: fValid(true), fCovStatus(-1), fIntParameters(par.begin(), par.end())
7062
{
7163
// construct from user parameters + errors (before minimization) using std::vector (params) and MnUserCovariance
7264
// class
@@ -82,7 +74,7 @@ MnUserParameterState::MnUserParameterState(std::span<const double> par, const Mn
8274
}
8375

8476
MnUserParameterState::MnUserParameterState(const MnUserParameters &par, const MnUserCovariance &cov)
85-
: fValid(true), fCovStatus(-1), fFVal(0.), fEDM(0.), fNFcn(0), fParameters(par)
77+
: fValid(true), fCovStatus(-1), fParameters(par)
8678
{
8779
// construct from user parameters + errors (before minimization) using
8880
// MnUserParameters and MnUserCovariance objects
@@ -102,7 +94,7 @@ MnUserParameterState::MnUserParameterState(const MnUserParameters &par, const Mn
10294
//
10395
//
10496
MnUserParameterState::MnUserParameterState(const MinimumState &st, double up, const MnUserTransformation &trafo)
105-
: fValid(st.IsValid()), fCovarianceValid(false), fCovStatus(-1), fFVal(st.Fval()), fEDM(st.Edm()), fNFcn(st.NFcn())
97+
: fValid(st.IsValid()), fCovStatus(-1), fFVal(st.Fval()), fEDM(st.Edm()), fNFcn(st.NFcn())
10698
{
10799
//
108100
// construct from internal parameters (after minimization)

0 commit comments

Comments
 (0)