Skip to content

Commit

Permalink
Use in-class initialization in Standard_model class
Browse files Browse the repository at this point in the history
and rearrange initialization in constructor to
avoid some (innocuous) compiler warnings
  • Loading branch information
Dylan Harries committed Jan 18, 2017
1 parent af6fdd6 commit db131cf
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 76 deletions.
28 changes: 2 additions & 26 deletions src/standard_model.cpp
Expand Up @@ -152,30 +152,6 @@ const int Standard_model::numberOfParameters;
#define HIGGS_3LOOP_CORRECTION_AT_AS_AS 1

Standard_model::Standard_model()
: Beta_function()
, ewsb_loop_order(2)
, pole_mass_loop_order(2)
, force_output(false)
, precision(1.0e-4)
, ewsb_iteration_precision(1.0e-5)
, physical()
, problems(standard_model_info::particle_names, standard_model_info::parameter_names)
, two_loop_corrections()
, input()
, g1(0), g2(0), g3(0), Lambdax(0), Yu(Eigen::Matrix<double,3,3>::Zero()), Yd
(Eigen::Matrix<double,3,3>::Zero()), Ye(Eigen::Matrix<double,3,3>::Zero())
, mu2(0), v(0)
, MVG(0), MHp(0), MFv(Eigen::Array<double,3,1>::Zero()), MAh(0), Mhh(0), MVP
(0), MVZ(0), MFd(Eigen::Array<double,3,1>::Zero()), MFu(Eigen::Array<double,
3,1>::Zero()), MFe(Eigen::Array<double,3,1>::Zero()), MVWp(0), MVPVZ(
Eigen::Array<double,2,1>::Zero())
, Vd(Eigen::Matrix<std::complex<double>,3,3>::Zero()), Ud(Eigen::Matrix<
std::complex<double>,3,3>::Zero()), Vu(Eigen::Matrix<std::complex<double>,3,
3>::Zero()), Uu(Eigen::Matrix<std::complex<double>,3,3>::Zero()), Ve(
Eigen::Matrix<std::complex<double>,3,3>::Zero()), Ue(Eigen::Matrix<
std::complex<double>,3,3>::Zero()), ZZ(Eigen::Matrix<double,2,2>::Zero())


{
set_number_of_parameters(numberOfParameters);
}
Expand All @@ -185,6 +161,8 @@ Standard_model::Standard_model(double scale_, double loops_, double thresholds_
double,3,3>& Yu_, const Eigen::Matrix<double,3,3>& Yd_, const Eigen::Matrix<
double,3,3>& Ye_, double mu2_, double v_)
: Beta_function()
, g1(g1_), g2(g2_), g3(g3_), Lambdax(Lambdax_), Yu(Yu_), Yd(Yd_), Ye(Ye_)
, mu2(mu2_), v(v_)
, ewsb_loop_order(2)
, pole_mass_loop_order(2)
, force_output(false)
Expand All @@ -194,8 +172,6 @@ Standard_model::Standard_model(double scale_, double loops_, double thresholds_
, problems(standard_model_info::particle_names, standard_model_info::parameter_names)
, two_loop_corrections()
, input()
, g1(g1_), g2(g2_), g3(g3_), Lambdax(Lambdax_), Yu(Yu_), Yd(Yd_), Ye(Ye_)
, mu2(mu2_), v(v_)
, MVG(0), MHp(0), MFv(Eigen::Array<double,3,1>::Zero()), MAh(0), Mhh(0), MVP
(0), MVZ(0), MFd(Eigen::Array<double,3,1>::Zero()), MFu(Eigen::Array<double,
3,1>::Zero()), MFe(Eigen::Array<double,3,1>::Zero()), MVWp(0), MVPVZ(
Expand Down
101 changes: 51 additions & 50 deletions src/standard_model.hpp
Expand Up @@ -507,34 +507,34 @@ class Standard_model : public Beta_function {
protected:

// Running parameters
double g1;
double g2;
double g3;
double Lambdax;
Eigen::Matrix<double,3,3> Yu;
Eigen::Matrix<double,3,3> Yd;
Eigen::Matrix<double,3,3> Ye;
double mu2;
double v;
double g1{0.};
double g2{0.};
double g3{0.};
double Lambdax{0.};
Eigen::Matrix<double,3,3> Yu{Eigen::Matrix<double,3,3>::Zero()};
Eigen::Matrix<double,3,3> Yd{Eigen::Matrix<double,3,3>::Zero()};
Eigen::Matrix<double,3,3> Ye{Eigen::Matrix<double,3,3>::Zero()};
double mu2{0.};
double v{0.};

private:

static const int numberOfParameters = 33;

struct Beta_traces {
double traceYdAdjYd;
double traceYeAdjYe;
double traceYuAdjYu;
double traceYdAdjYdYdAdjYd;
double traceYeAdjYeYeAdjYe;
double traceYuAdjYuYuAdjYu;
double traceYdAdjYuYuAdjYd;
double traceYdAdjYdYdAdjYdYdAdjYd;
double traceYdAdjYdYdAdjYuYuAdjYd;
double traceYdAdjYuYuAdjYdYdAdjYd;
double traceYdAdjYuYuAdjYuYuAdjYd;
double traceYeAdjYeYeAdjYeYeAdjYe;
double traceYuAdjYuYuAdjYuYuAdjYu;
double traceYdAdjYd{};
double traceYeAdjYe{};
double traceYuAdjYu{};
double traceYdAdjYdYdAdjYd{};
double traceYeAdjYeYeAdjYe{};
double traceYuAdjYuYuAdjYu{};
double traceYdAdjYuYuAdjYd{};
double traceYdAdjYdYdAdjYdYdAdjYd{};
double traceYdAdjYdYdAdjYuYuAdjYd{};
double traceYdAdjYuYuAdjYdYdAdjYd{};
double traceYdAdjYuYuAdjYuYuAdjYd{};
double traceYeAdjYeYeAdjYeYeAdjYe{};
double traceYuAdjYuYuAdjYuYuAdjYu{};
};
void calc_beta_traces(Beta_traces&) const;

Expand Down Expand Up @@ -574,15 +574,16 @@ class Standard_model : public Beta_function {
virtual std::string what() const { return "Could not perform EWSB step."; }
};

unsigned ewsb_loop_order;
unsigned pole_mass_loop_order;
bool force_output; ///< switch to force output of pole masses
double precision; ///< RG running precision
double ewsb_iteration_precision;
Standard_model_physical physical; ///< contains the pole masses and mixings
Problems<standard_model_info::NUMBER_OF_PARTICLES, standard_model_info::NUMBER_OF_PARAMETERS> problems;
Two_loop_corrections two_loop_corrections; ///< used 2-loop corrections
Physical_input input;
unsigned ewsb_loop_order{2};
unsigned pole_mass_loop_order{2};
bool force_output{false}; ///< switch to force output of pole masses
double precision{1.e-4}; ///< RG running precision
double ewsb_iteration_precision{1.e-5};
Standard_model_physical physical{}; ///< contains the pole masses and mixings
Problems<standard_model_info::NUMBER_OF_PARTICLES, standard_model_info::NUMBER_OF_PARAMETERS> problems{
standard_model_info::particle_names, standard_model_info::parameter_names};
Two_loop_corrections two_loop_corrections{}; ///< used 2-loop corrections
Physical_input input{};

std::size_t get_number_of_ewsb_iterations() const;
std::size_t get_number_of_mass_iterations() const;
Expand All @@ -608,27 +609,27 @@ class Standard_model : public Beta_function {
double G0(double, double, double) const;

// DR-bar masses
double MVG;
double MHp;
Eigen::Array<double,3,1> MFv;
double MAh;
double Mhh;
double MVP;
double MVZ;
Eigen::Array<double,3,1> MFd;
Eigen::Array<double,3,1> MFu;
Eigen::Array<double,3,1> MFe;
double MVWp;
Eigen::Array<double,2,1> MVPVZ;
double MVG{0.};
double MHp{0.};
Eigen::Array<double,3,1> MFv{Eigen::Array<double,3,1>::Zero()};
double MAh{0.};
double Mhh{0.};
double MVP{0.};
double MVZ{0.};
Eigen::Array<double,3,1> MFd{Eigen::Array<double,3,1>::Zero()};
Eigen::Array<double,3,1> MFu{Eigen::Array<double,3,1>::Zero()};
Eigen::Array<double,3,1> MFe{Eigen::Array<double,3,1>::Zero()};
double MVWp{0.};
Eigen::Array<double,2,1> MVPVZ{Eigen::Array<double,2,1>::Zero()};

// DR-bar mixing matrices
Eigen::Matrix<std::complex<double>,3,3> Vd;
Eigen::Matrix<std::complex<double>,3,3> Ud;
Eigen::Matrix<std::complex<double>,3,3> Vu;
Eigen::Matrix<std::complex<double>,3,3> Uu;
Eigen::Matrix<std::complex<double>,3,3> Ve;
Eigen::Matrix<std::complex<double>,3,3> Ue;
Eigen::Matrix<double,2,2> ZZ;
Eigen::Matrix<std::complex<double>,3,3> Vd{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<std::complex<double>,3,3> Ud{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<std::complex<double>,3,3> Vu{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<std::complex<double>,3,3> Uu{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<std::complex<double>,3,3> Ve{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<std::complex<double>,3,3> Ue{Eigen::Matrix<std::complex<double>,3,3>::Zero()};
Eigen::Matrix<double,2,2> ZZ{Eigen::Matrix<double,2,2>::Zero()};


};
Expand Down

0 comments on commit db131cf

Please sign in to comment.