Skip to content

Commit

Permalink
make constraints and matching condition local variables
Browse files Browse the repository at this point in the history
because they take pointers, which are invalidated when the spectrum
generator object is copied.
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed Feb 6, 2017
1 parent 853a414 commit e64565d
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 24 deletions.
10 changes: 4 additions & 6 deletions templates/high_scale_spectrum_generator.hpp.in
Expand Up @@ -46,9 +46,6 @@ class @ModelName@_spectrum_generator
public:
@ModelName@_spectrum_generator()
: @ModelName@_spectrum_generator_interface<T>()
, high_scale_constraint()
, susy_scale_constraint()
, low_scale_constraint()
, high_scale(0.)
, susy_scale(0.)
, low_scale(0.)
Expand All @@ -63,9 +60,6 @@ public:
void write_running_couplings(const std::string& filename = "@ModelName@_rgflow.dat") const;

private:
@ModelName@_high_scale_constraint<T> high_scale_constraint;
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
@ModelName@_low_scale_constraint<T> low_scale_constraint;
double high_scale, susy_scale, low_scale;
};

Expand Down Expand Up @@ -94,6 +88,10 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,
model.set_thresholds(this->settings.get(Spectrum_generator_settings::threshold_corrections_loop_order));
model.set_zero_threshold(this->settings.get(Spectrum_generator_settings::beta_zero_threshold));

@ModelName@_high_scale_constraint<T> high_scale_constraint;
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
@ModelName@_low_scale_constraint<T> low_scale_constraint;

high_scale_constraint.clear();
susy_scale_constraint.clear();
low_scale_constraint .clear();
Expand Down
7 changes: 3 additions & 4 deletions templates/low_scale_spectrum_generator.hpp.in
Expand Up @@ -45,8 +45,6 @@ class @ModelName@_spectrum_generator
public:
@ModelName@_spectrum_generator()
: @ModelName@_spectrum_generator_interface<T>()
, susy_scale_constraint()
, low_scale_constraint()
, susy_scale(0.)
, low_scale(0.)
{}
Expand All @@ -60,8 +58,6 @@ public:
void write_running_couplings(const std::string& filename = "@ModelName@_rgflow.dat") const;

private:
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
@ModelName@_low_scale_constraint<T> low_scale_constraint;
double susy_scale, low_scale;
};

Expand Down Expand Up @@ -90,6 +86,9 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,
model.set_thresholds(this->settings.get(Spectrum_generator_settings::threshold_corrections_loop_order));
model.set_zero_threshold(this->settings.get(Spectrum_generator_settings::beta_zero_threshold));

@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
@ModelName@_low_scale_constraint<T> low_scale_constraint;

susy_scale_constraint.clear();
low_scale_constraint .clear();

Expand Down
13 changes: 5 additions & 8 deletions templates/standard_model_high_scale_spectrum_generator.hpp.in
Expand Up @@ -51,10 +51,6 @@ class @ModelName@_spectrum_generator
public:
@ModelName@_spectrum_generator()
: @ModelName@_spectrum_generator_interface<T>()
, high_scale_constraint()
, susy_scale_constraint()
, low_scale_constraint()
, matching()
, eft()
, high_scale(0.)
, susy_scale(0.)
Expand All @@ -71,10 +67,6 @@ public:
void write_running_couplings(const std::string& filename = "@ModelName@_rgflow.dat") const;

private:
@ModelName@_high_scale_constraint<T> high_scale_constraint;
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
standard_model::Standard_model_low_scale_constraint<T> low_scale_constraint;
@ModelName@_standard_model_Matching<T> matching;
standard_model::StandardModel<T> eft;
double high_scale, susy_scale, low_scale;
};
Expand Down Expand Up @@ -116,6 +108,10 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,
eft.set_number_of_mass_iterations(this->model.get_number_of_mass_iterations());
eft.set_two_loop_corrections(this->model.get_two_loop_corrections());

@ModelName@_high_scale_constraint<T> high_scale_constraint;
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
standard_model::Standard_model_low_scale_constraint<T> low_scale_constraint;

high_scale_constraint.clear();
susy_scale_constraint.clear();
low_scale_constraint .clear();
Expand All @@ -129,6 +125,7 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,

const unsigned index = this->settings.get(Spectrum_generator_settings::eft_higgs_index);

@ModelName@_standard_model_Matching<T> matching;
matching.set_models(&eft, &model);
matching.set_constraint(&susy_scale_constraint);
matching.set_scale(this->settings.get(Spectrum_generator_settings::eft_matching_scale));
Expand Down
10 changes: 4 additions & 6 deletions templates/standard_model_low_scale_spectrum_generator.hpp.in
Expand Up @@ -50,9 +50,6 @@ class @ModelName@_spectrum_generator
public:
@ModelName@_spectrum_generator()
: @ModelName@_spectrum_generator_interface<T>()
, susy_scale_constraint()
, low_scale_constraint()
, matching()
, eft()
, susy_scale(0.)
, low_scale(0.)
Expand All @@ -68,9 +65,6 @@ public:
void write_running_couplings(const std::string& filename = "@ModelName@_rgflow.dat") const;

private:
@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
standard_model::Standard_model_low_scale_constraint<T> low_scale_constraint;
@ModelName@_standard_model_Matching<T> matching;
standard_model::StandardModel<T> eft;
double susy_scale, low_scale;
};
Expand Down Expand Up @@ -112,6 +106,9 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,
eft.set_number_of_mass_iterations(this->model.get_number_of_mass_iterations());
eft.set_two_loop_corrections(this->model.get_two_loop_corrections());

@ModelName@_susy_scale_constraint<T> susy_scale_constraint;
standard_model::Standard_model_low_scale_constraint<T> low_scale_constraint;

susy_scale_constraint.clear();
low_scale_constraint .clear();

Expand All @@ -123,6 +120,7 @@ void @ModelName@_spectrum_generator<T>::run(const softsusy::QedQcd& qedqcd,

const unsigned index = this->settings.get(Spectrum_generator_settings::eft_higgs_index);

@ModelName@_standard_model_Matching<T> matching;
matching.set_models(&eft, &model);
matching.set_constraint(&susy_scale_constraint);
matching.set_scale(this->settings.get(Spectrum_generator_settings::eft_matching_scale));
Expand Down

0 comments on commit e64565d

Please sign in to comment.