NcClusterMass

NcClusterMass — Abstract class for cluster mass distributions.

Types and Values

Object Hierarchy

    GFlags
    ╰── NcClusterMassImpl
    GObject
    ╰── NcmModel
        ╰── NcClusterMass
            ├── NcClusterMassBenson
            ├── NcClusterMassLnnormal
            ├── NcClusterMassNodist
            ├── NcClusterMassPlCL
            ╰── NcClusterMassVanderlinde

Description

NcClusterMass is the abstract class designed to abrigde the functions that any cluster mass distribution should implement, see NcClusterMassImpl. Its parent_class is NcmModel.

Functions

NC_CLUSTER_MASS_IMPL_ALL

#define NC_CLUSTER_MASS_IMPL_ALL (~0)

nc_cluster_mass_new_from_name ()

NcClusterMass *
nc_cluster_mass_new_from_name (gchar *mass_name);

This function returns a new NcClusterMass whose type is defined by mass_name .

Parameters

mass_name

string which specifies the type of the mass distribution.

 

Returns

A new NcClusterMass.


nc_cluster_mass_ref ()

NcClusterMass *
nc_cluster_mass_ref (NcClusterMass *clusterm);

Increases the reference count of clusterm by one.

Parameters

clusterm

a NcClusterMass

 

Returns

clusterm .

[transfer full]


nc_cluster_mass_free ()

void
nc_cluster_mass_free (NcClusterMass *clusterm);

Atomically decrements the reference count of clusterm by one. If the reference count drops to 0, all memory allocated by clusterm is released.

Parameters

clusterm

a NcClusterMass

 

nc_cluster_mass_clear ()

void
nc_cluster_mass_clear (NcClusterMass **clusterm);

The reference count of clusterm is decreased and the pointer is set to NULL.

Parameters

clusterm

a NcClusterMass

 

nc_cluster_mass_impl ()

NcClusterMassImpl
nc_cluster_mass_impl (NcClusterMass *clusterm);

FIXME

Parameters

clusterm

a NcClusterMass

 

Returns

FIXME


nc_cluster_mass_obs_len ()

guint
nc_cluster_mass_obs_len (NcClusterMass *clusterm);

The number of observable masses (or just the observable which is related to the cluster mass) of each cluster, e.g., 1 - SZ mass, 1 - X-ray mass, 1 - Lensing mass, 2 - SZ and X-ray masses, 3 - SZ, X-ray and lensing masses.

Parameters

clusterm

a NcClusterMass

 

Returns

The number of observable masses.


nc_cluster_mass_obs_params_len ()

guint
nc_cluster_mass_obs_params_len (NcClusterMass *clusterm);

The number of parameters related to the observable masses of each cluster, e.g., 1 - error of the SZ mass, 1 - error of the X-ray mass, 2 - errors of SZ and X-ray masses.

Parameters

clusterm

a NcClusterMass

 

Returns

The number of parameters related to the observable masses.


nc_cluster_mass_p ()

gdouble
nc_cluster_mass_p (NcClusterMass *clusterm,
                   NcHICosmo *cosmo,
                   gdouble lnM,
                   gdouble z,
                   const gdouble *lnM_obs,
                   const gdouble *lnM_obs_params);

It computes the probability density function (pdf) of the cluster mass distribution clusterm given cosmo , lnM , z and the observable cluster mass (or just the observable).

Parameters

clusterm

a NcClusterMass

 

cosmo

a NcHICosmo

 

lnM

logarithm base e of the true mass

 

z

true redshift

 

lnM_obs

logarithm base e of the observed mass.

[array][element-type double]

lnM_obs_params

observed mass paramaters.

[array][element-type double]

Returns

The pdf of clusterm .


nc_cluster_mass_intp ()

gdouble
nc_cluster_mass_intp (NcClusterMass *clusterm,
                      NcHICosmo *cosmo,
                      gdouble lnM,
                      gdouble z);

It computes the clusterm probability distribution of lnM lying in the range $[]$, namely, $$ intp = \int_{\ln M^{obs}_{min}}^{\ln M^{obs}_{max}} p \, d\ln M^{obs},$$ where $p$ is [nc_cluster_mass_p()].

Parameters

clusterm

a NcClusterMass

 

cosmo

a NcHICosmo

 

z

true redshift

 

lnM

logarithm base e of the true mass

 

Returns

The probability distribution of lnM lying within $[\ln M^{obs}_{min}, \ln M^{obs}_{max}]$.


nc_cluster_mass_resample ()

gboolean
nc_cluster_mass_resample (NcClusterMass *clusterm,
                          NcHICosmo *cosmo,
                          gdouble lnM,
                          gdouble z,
                          gdouble *lnM_obs,
                          const gdouble *lnM_obs_params,
                          NcmRNG *rng);

FIXME

Parameters

clusterm

a NcClusterMass.

 

cosmo

a NcHICosmo.

 

z

true redshift.

 

lnM

logarithm base e of the true mass.

 

lnM_obs

logarithm base e of the observed mass.

[out]

lnM_obs_params

observed mass params.

[out]

rng

a NcmRNG.

 

Returns

FIXME


nc_cluster_mass_p_limits ()

void
nc_cluster_mass_p_limits (NcClusterMass *clusterm,
                          NcHICosmo *cosmo,
                          const gdouble *lnM_obs,
                          const gdouble *lnM_obs_params,
                          gdouble *lnM_lower,
                          gdouble *lnM_upper);

FIXME The function which will call this one is responsible to allocate memory for lnM_lower and lnM_upper .

Parameters

clusterm

a NcClusterMass.

 

cosmo

a NcHICosmo.

 

lnM_obs

observed mass.

 

lnM_obs_params

observed mass params.

 

lnM_lower

pointer to the lower limit of the real mass integration.

[out]

lnM_upper

pointer to the upper limit of the real mass integration.

[out]

nc_cluster_mass_n_limits ()

void
nc_cluster_mass_n_limits (NcClusterMass *clusterm,
                          NcHICosmo *cosmo,
                          gdouble *lnM_lower,
                          gdouble *lnM_upper);

FIXME The function which will call this one is responsible to allocate memory for lnM_lower and lnM_upper .

Parameters

clusterm

a NcClusterMass.

 

cosmo

a NcHICosmo.

 

lnM_lower

lower limit of the logarithm base e of the true mass.

[out]

lnM_upper

upper limit of the lgarithm base e of the true mass.

[out]

nc_cluster_mass_log_all_models ()

void
nc_cluster_mass_log_all_models (void);

This function lists all implemented models of cluster mass distributions.

Types and Values

enum NcClusterMassImpl

Members

NC_CLUSTER_MASS_P

probability density function of the true-observable cluster masses

 

NC_CLUSTER_MASS_INTP

probability distribution (integration over the observable mass(es))

 

NC_CLUSTER_MASS_RESAMPLE

resample function to generate the cluster masses following the underlying cluster mass distribution.

 

NC_CLUSTER_MASS_P_LIMITS

function to set the lower and upper limits of the to compute the integral of the cluster mass distribution.

 

NC_CLUSTER_MASS_N_LIMITS

function to set the lower and upper thresholds of the observable cluster mass to compute the normalization of the cluster mass distribution.