flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY

records model parameters at different scales More...

#include <coupling_monitor.hpp>

Collaboration diagram for flexiblesusy::Coupling_monitor:
Collaboration graph

Public Types

using Data_getter = std::function< Eigen::ArrayXd(double)>
 function to return parameter values at given scale More...
 
using Tuple = std::pair< double, Eigen::ArrayXd >
 tuple of scale and couplings More...
 

Public Member Functions

void clear ()
 delete all saved couplings More...
 
 Coupling_monitor (const Data_getter &, const std::vector< std::string > &)
 
Tuple get_max_scale () const
 get maximum scale More...
 
void run (double, double, int number_of_steps=20, bool include_endpoint=false)
 get couplings at all scales More...
 
void write_to_file (const std::string &, bool overwrite=true) const
 write couplings to file More...
 

Private Member Functions

void write_comment_line (std::ostream &) const
 write a comment line More...
 
void write_parameter_names_line (std::ostream &) const
 write line with parameter names More...
 

Private Attributes

std::vector< Tuplecouplings {}
 all couplings at all scales More...
 
Data_getter data_getter {}
 returns parameters at given scale More...
 
std::vector< std::string > parameter_names {}
 parameter names More...
 

Detailed Description

records model parameters at different scales

Definition at line 34 of file coupling_monitor.hpp.

Member Typedef Documentation

◆ Data_getter

using flexiblesusy::Coupling_monitor::Data_getter = std::function<Eigen::ArrayXd(double)>

function to return parameter values at given scale

Definition at line 37 of file coupling_monitor.hpp.

◆ Tuple

using flexiblesusy::Coupling_monitor::Tuple = std::pair<double, Eigen::ArrayXd>

tuple of scale and couplings

Definition at line 39 of file coupling_monitor.hpp.

Constructor & Destructor Documentation

◆ Coupling_monitor()

flexiblesusy::Coupling_monitor::Coupling_monitor ( const Data_getter data_getter_,
const std::vector< std::string > &  parameter_names_ 
)

Definition at line 45 of file coupling_monitor.cpp.

Member Function Documentation

◆ clear()

void flexiblesusy::Coupling_monitor::clear ( )

delete all saved couplings

Delete all internal couplings.

Definition at line 75 of file coupling_monitor.cpp.

References couplings.

◆ get_max_scale()

Coupling_monitor::Tuple flexiblesusy::Coupling_monitor::get_max_scale ( ) const

get maximum scale

Get the couplings at the largest scale

Returns
a pair with the scale and a Eigen::ArrayXd which contains the couplings at this scale

Definition at line 58 of file coupling_monitor.cpp.

References couplings, and ERROR.

◆ run()

void flexiblesusy::Coupling_monitor::run ( double  q1,
double  q2,
int  number_of_steps = 20,
bool  include_endpoint = false 
)

get couplings at all scales

Add running couplings between scale q1 and q2.

Parameters
q1scale to start at
q2end scale
number_of_stepsnumber of steps
include_endpointinclude the endpoint q2 in the running (false by default)

Definition at line 177 of file coupling_monitor.cpp.

References couplings, data_getter, ERROR, flexiblesusy::log(), and flexiblesusy::amm_loop_functions::two_loop::anonymous_namespace{amm_loop_functions.cpp}::sort().

◆ write_comment_line()

void flexiblesusy::Coupling_monitor::write_comment_line ( std::ostream &  fout) const
private

write a comment line

write help line which describes the written data

Parameters
foutoutput stream

Definition at line 105 of file coupling_monitor.cpp.

References flexiblesusy::anonymous_namespace{coupling_monitor.cpp}::column_width, couplings, parameter_names, and flexiblesusy::to_string().

Referenced by write_to_file().

◆ write_parameter_names_line()

void flexiblesusy::Coupling_monitor::write_parameter_names_line ( std::ostream &  fout) const
private

write line with parameter names

write line with parameter names

Parameters
foutoutput stream

Definition at line 85 of file coupling_monitor.cpp.

References flexiblesusy::anonymous_namespace{coupling_monitor.cpp}::column_width, couplings, and parameter_names.

Referenced by write_to_file().

◆ write_to_file()

void flexiblesusy::Coupling_monitor::write_to_file ( const std::string &  file_name,
bool  overwrite = true 
) const

write couplings to file

Write all couplings to a text file.

Parameters
file_namename of file to write the data to
overwriteif true, file is overwritten, otherwise content is appended

Definition at line 126 of file coupling_monitor.cpp.

References flexiblesusy::anonymous_namespace{coupling_monitor.cpp}::column_width, couplings, ERROR, VERBOSE_MSG, write_comment_line(), and write_parameter_names_line().

Member Data Documentation

◆ couplings

std::vector<Tuple> flexiblesusy::Coupling_monitor::couplings {}
private

all couplings at all scales

Definition at line 53 of file coupling_monitor.hpp.

Referenced by clear(), get_max_scale(), run(), write_comment_line(), write_parameter_names_line(), and write_to_file().

◆ data_getter

Data_getter flexiblesusy::Coupling_monitor::data_getter {}
private

returns parameters at given scale

Definition at line 54 of file coupling_monitor.hpp.

Referenced by run().

◆ parameter_names

std::vector<std::string> flexiblesusy::Coupling_monitor::parameter_names {}
private

parameter names

Definition at line 55 of file coupling_monitor.hpp.

Referenced by write_comment_line(), and write_parameter_names_line().


The documentation for this class was generated from the following files: