file models/CosmoModels.cpp
[No description available]
Defines
Name | |
---|---|
MODEL | |
MODEL | |
PARENT | |
MODEL | |
PARENT | |
MODEL | |
PARENT | |
MODEL | |
MODEL | |
MODEL | |
MODEL | |
MODEL | |
INFLATION_MODEL_TO_POWER_LAW(MODEL) |
Macros Documentation
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define PARENT
#define PARENT etaBBN_rBBN_rCMB_dNurBBN_dNurCMB
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define PARENT
#define PARENT etaBBN_rBBN_rCMB_dNurBBN_dNurCMB
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define PARENT
#define PARENT etaBBN_rBBN_rCMB_dNurBBN_dNurCMB
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define MODEL
#define MODEL etaBBN
GAMBIT: Global and Modular BSM Inference Tool
Model translation functions for cosmology models
Authors
(add name and date if you modify)
Patrick Stöcker (stoecker@physik.rwth-aachen.de)
2019 Feb, Jun
Janina Renk (janina.renk@fysik.su.se)
2019 Feb, Jun
Sanjay Bloor (sanjay.bloor12@imperial.ac.uk)
2019 Nov
Pat Scott (pat.scott@uq.edu.au)
2020 Apr
define INFLATION_MODEL_TO_POWER_LAW
#define INFLATION_MODEL_TO_POWER_LAW(
MODEL
)
void Gambit::Models::MODEL::as_PowerLaw(const ModelParameters&, ModelParameters &targetP) \
{ \
using namespace Gambit::Models::MODEL::Pipes::PowerLaw_ps_parameters; \
logger()<<"Running interpret_as_X calculations for " \
STRINGIFY(MODEL) " --> PowerLaw_ps ..."<<LogTags::info<<EOM; \
/* Copy the parameters */ \
targetP.setValues(*Dep::PowerLaw_ps_parameters); \
}
Source code
/// GAMBIT: Global and Modular BSM Inference Tool
/// *********************************************
///
/// Model translation functions for cosmology models
///
/// *********************************************
///
/// Authors
/// =======
///
/// (add name and date if you modify)
///
/// \author Patrick Stöcker
/// (stoecker@physik.rwth-aachen.de)
/// \date 2019 Feb, Jun
///
/// \author Janina Renk
/// (janina.renk@fysik.su.se)
/// \date 2019 Feb, Jun
///
/// \author Sanjay Bloor
/// (sanjay.bloor12@imperial.ac.uk)
/// \date 2019 Nov
///
/// \author Pat Scott
/// (pat.scott@uq.edu.au)
/// \date 2020 Apr
///
/// *********************************************
#include <string>
#include <vector>
#include "gambit/Models/model_macros.hpp"
#include "gambit/Models/model_helpers.hpp"
#include "gambit/Logs/logger.hpp"
#include "gambit/Utils/util_functions.hpp"
#include "gambit/Utils/numerical_constants.hpp"
#include "gambit/Models/models/CosmoModels.hpp"
/////////////// translation functions for Cosmology models ///////////////////////////
#define MODEL etaBBN
void MODEL_NAMESPACE::etaBBN_to_etaBBN_rBBN_rCMB_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for etaBBN --> etaBBN_rBBN_rCMB_dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// Set eta_BBN
targetP.setValue("eta_BBN", myP.getValue("eta_BBN"));
// No dNeff due to an altered neutrino temperature
targetP.setValue("r_BBN", 1.);
targetP.setValue("r_CMB", 1.);
// No dNeff due to additional radiation
targetP.setValue("dNur_BBN", 0.);
targetP.setValue("dNur_CMB", 0.);
}
#undef MODEL
#define MODEL etaBBN_rBBN_dNurBBN
#define PARENT etaBBN_rBBN_rCMB_dNurBBN_dNurCMB
void MODEL_NAMESPACE::etaBBN_rBBN_dNurBBN_to_etaBBN_rBBN_rCMB_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
USE_MODEL_PIPE(PARENT) // get pipe for "INTERPRET_AS_PARENT_DEPENDENCY"
logger()<<"Running interpret_as_parent calculations for etaBBN_rBBN_dNurBBN --> etaBBN_rBBN_rCMB_dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// Set eta_BBN
targetP.setValue("eta_BBN", myP.getValue("eta_BBN"));
map_str_dbl Neff_evolution = *Dep::Neff_evolution;
// Set the respective values of r
targetP.setValue("r_BBN", myP.getValue("r_BBN"));
targetP.setValue("r_CMB", Neff_evolution.at("r_CMB"));
// Set the respective values of dNeff
targetP.setValue("dNur_BBN", myP.getValue("dNur_BBN"));
targetP.setValue("dNur_CMB", Neff_evolution.at("dNur_CMB"));
}
#undef PARENT
#undef MODEL
#define MODEL rBBN_dNurBBN
#define PARENT etaBBN_rBBN_dNurBBN
void MODEL_NAMESPACE::rBBN_dNurBBN_to_etaBBN_rBBN_dNurBBN (const ModelParameters &myP, ModelParameters &targetP)
{
USE_MODEL_PIPE(PARENT) // get pipe for "INTERPRET_AS_PARENT_DEPENDENCY"
logger()<<"Running interpret_as_parent calculations for rBBN_dNurBBN --> etaBBN_rBBN_dNurBBN ..."<<LogTags::info<<EOM;
// Set eta_BBN
targetP.setValue("eta_BBN",(*Dep::eta0)*(*Dep::eta_ratio));
// Set r_BBN
targetP.setValue("r_BBN", myP.getValue("r_BBN"));
// Set tdNur_BBN
targetP.setValue("dNur_BBN", myP.getValue("dNur_BBN"));
}
#undef PARENT
#undef MODEL
#define MODEL rBBN_rCMB_dNurBBN_dNurCMB
#define PARENT etaBBN_rBBN_rCMB_dNurBBN_dNurCMB
void MODEL_NAMESPACE::rBBN_rCMB_dNurBBN_dNurCMB_to_etaBBN_rBBN_rCMB_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
USE_MODEL_PIPE(PARENT) // get pipe for "INTERPRET_AS_PARENT_DEPENDENCY"
logger()<<"Running interpret_as_parent calculations for rBBN_rCMB_dNurBBN_dNurCMB --> etaBBN_rBBN_rCMB_dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// Set eta_BBN (This requires that eta0 / omega_b is known, i.e. LCDM is in use)
// -- The dependency_resolver will figure that out --
targetP.setValue("eta_BBN", *Dep::eta0);
// Set the respective values of r
targetP.setValue("r_BBN", myP.getValue("r_BBN"));
targetP.setValue("r_CMB", myP.getValue("r_CMB"));
// Set the respective values of dNeff
targetP.setValue("dNur_BBN", myP.getValue("dNur_BBN"));
targetP.setValue("dNur_CMB", myP.getValue("dNur_CMB"));
}
#undef PARENT
#undef MODEL
#define MODEL rBBN_rCMB
void MODEL_NAMESPACE::rBBN_rCMB_to_rBBN_rCMB_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for rBBN_rCMB --> rBBN_rCMB_dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// Set the respective values of r
targetP.setValue("r_BBN", myP.getValue("r_BBN"));
targetP.setValue("r_CMB", myP.getValue("r_CMB"));
// No dNeff due to additional radiation
targetP.setValue("dNur_BBN", 0.);
targetP.setValue("dNur_CMB", 0.);
}
#undef MODEL
#define MODEL rCMB
void MODEL_NAMESPACE::rCMB_to_rBBN_rCMB (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for rCMB --> rBBN_rCMB ..."<<LogTags::info<<EOM;
// Set the respective values of r
targetP.setValue("r_BBN", myP.getValue("r_CMB"));
targetP.setValue("r_CMB", myP.getValue("r_CMB"));
}
#undef MODEL
#define MODEL dNurBBN_dNurCMB
void MODEL_NAMESPACE::dNurBBN_dNurCMB_to_rBBN_rCMB_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for dNurBBN_dNurCMB --> rBBN_rCMB_dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// No dNeff due to an altered neutrino temperature
targetP.setValue("r_BBN", 1.);
targetP.setValue("r_CMB", 1.);
// Set the respective values of dNeff
targetP.setValue("dNur_BBN", myP.getValue("dNur_BBN"));
targetP.setValue("dNur_CMB", myP.getValue("dNur_CMB"));
}
#undef MODEL
#define MODEL dNurCMB
void MODEL_NAMESPACE::dNurCMB_to_dNurBBN_dNurCMB (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for dNurCMB --> dNurBBN_dNurCMB ..."<<LogTags::info<<EOM;
// Set the respective values of dNeff
targetP.setValue("dNur_BBN", myP.getValue("dNur_CMB"));
targetP.setValue("dNur_CMB", myP.getValue("dNur_CMB"));
}
#undef MODEL
#define MODEL Minimal_PowerLaw_ps
void MODEL_NAMESPACE::Minimal_PowerLaw_ps_to_PowerLaw_ps (const ModelParameters &myP, ModelParameters &targetP)
{
logger()<<"Running interpret_as_parent calculations for Minimal_PowerLaw_ps --> PowerLaw_ps ..."<<LogTags::info<<EOM;
targetP.setValues(myP);
targetP.setValue("N_pivot", 55);
targetP.setValue("r", 0);
}
#undef MODEL
// Define a bunch of translation functions that just take power-law spectra from CosmoBit.
// This is an example of "the most extreme case" discussed in the final paragraph of Sec 5.1
// of the original GAMBIT paper.
#define INFLATION_MODEL_TO_POWER_LAW(MODEL) \
void Gambit::Models::MODEL::as_PowerLaw(const ModelParameters&, ModelParameters &targetP) \
{ \
using namespace Gambit::Models::MODEL::Pipes::PowerLaw_ps_parameters; \
logger()<<"Running interpret_as_X calculations for " \
STRINGIFY(MODEL) " --> PowerLaw_ps ..."<<LogTags::info<<EOM; \
/* Copy the parameters */ \
targetP.setValues(*Dep::PowerLaw_ps_parameters); \
}
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1mono23)
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1linear)
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1quadratic)
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1quartic)
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1natural)
INFLATION_MODEL_TO_POWER_LAW(Inflation_InstReh_1Starobinsky)
#undef INFLATION_MODEL_TO_POWER_LAW
Updated on 2024-07-18 at 13:53:33 +0000