file obscura_1_1_0/wrapper_DM_Particle_decl.hpp
[No description available]
Functions
Name | |
---|---|
namespace | CAT_3(BACKENDNAME , _ , SAFE_VERSION ) |
Functions Documentation
function CAT_3
namespace CAT_3(
BACKENDNAME ,
_ ,
SAFE_VERSION
)
Source code
#ifndef __wrapper_DM_Particle_decl_obscura_1_1_0_hpp__
#define __wrapper_DM_Particle_decl_obscura_1_1_0_hpp__
#include <cstddef>
#include <random>
#include <string>
#include "forward_decls_wrapper_classes.hpp"
#include "gambit/Backends/wrapperbase.hpp"
#include "abstract_DM_Particle.hpp"
#include "identification.hpp"
namespace CAT_3(BACKENDNAME,_,SAFE_VERSION)
{
namespace obscura
{
class DM_Particle : public WrapperBase
{
// Member variables:
public:
// -- Static factory pointers:
static Abstract_DM_Particle* (*__factory0)();
static Abstract_DM_Particle* (*__factory1)(double, double);
static Abstract_DM_Particle* (*__factory2)(double);
// -- Other member variables:
public:
double& mass;
double& spin;
double& fractional_density;
bool& DD_use_eta_function;
// Member functions:
public:
void Set_Mass(double mDM);
void Set_Spin(double s);
void Set_Low_Mass_Mode(bool ldm);
void Set_Fractional_Density(double f);
double Get_Interaction_Parameter(std::string target) const;
void Set_Interaction_Parameter(double par, std::string target);
bool Interaction_Parameter_Is_Cross_Section() const;
void Set_Sigma_Proton(double sigma);
void Set_Sigma_Neutron(double sigma);
void Set_Sigma_Electron(double sigma);
double dSigma_dq2_Electron(double q, double vDM, double param) const;
double dSigma_dq2_Electron(double q, double vDM) const;
double Sigma_Proton() const;
double Sigma_Neutron() const;
double Sigma_Electron() const;
bool Is_Sigma_Total_V_Dependent() const;
double Sigma_Total_Electron(double vDM, double param);
double Sigma_Total_Electron(double vDM);
void Print_Summary(int MPI_rank) const;
void Print_Summary() const;
double PDF_Scattering_Angle_Electron(double cos_alpha, double vDM, double param);
double PDF_Scattering_Angle_Electron(double cos_alpha, double vDM);
double CDF_Scattering_Angle_Electron(double cos_alpha, double vDM, double param);
double CDF_Scattering_Angle_Electron(double cos_alpha, double vDM);
double Sample_Scattering_Angle_Electron(std::mt19937& PRNG, double vDM, double param);
double Sample_Scattering_Angle_Electron(std::mt19937& PRNG, double vDM);
// Wrappers for original constructors:
public:
DM_Particle();
DM_Particle(double m, double s);
DM_Particle(double m);
// Special pointer-based constructor:
DM_Particle(Abstract_DM_Particle* in);
// Copy constructor:
DM_Particle(const DM_Particle& in);
// Assignment operator:
DM_Particle& operator=(const DM_Particle& in);
// Destructor:
~DM_Particle();
// Returns correctly casted pointer to Abstract class:
Abstract_DM_Particle* get_BEptr() const;
};
}
}
#include "gambit/Backends/backend_undefs.hpp"
#endif /* __wrapper_DM_Particle_decl_obscura_1_1_0_hpp__ */
Updated on 2024-07-18 at 13:53:35 +0000