NcClusterMass

NcClusterMass — Abstract class for cluster mass distributions.

Functions

Types and Values

Object Hierarchy

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

Description

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

Functions

nc_cluster_mass_class_obs_len ()

guint
nc_cluster_mass_class_obs_len (NcClusterMassClass *clusterm_class);

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_class

a NcClusterMassClass

 

Returns

The number of observable masses.


nc_cluster_mass_class_obs_params_len ()

guint
nc_cluster_mass_class_obs_params_len (NcClusterMassClass *clusterm_class);

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_class

a NcClusterMassClass

 

Returns

The number of parameters related to the observable masses.


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_p ()

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

FIXME

[virtual P]

Parameters

clusterm

a NcClusterMass

 

cosmo

a NcHICosmo

 

lnM

FIXME

 

z

FIXME

 

lnM_obs

FIXME.

[array][element-type gdouble]

lnM_obs_params

FIXME.

[array][element-type gdouble][allow-none]

Returns

FIXME


nc_cluster_mass_intp ()

gdouble
nc_cluster_mass_intp (NcClusterMass *clusterm,
                      NcHICosmo *cosmo,
                      const gdouble lnM,
                      const 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()].

[virtual intP]

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_intp_bin ()

gdouble
nc_cluster_mass_intp_bin (NcClusterMass *clusterm,
                          NcHICosmo *cosmo,
                          const gdouble lnM,
                          const gdouble z,
                          const gdouble *lnM_obs_lower,
                          const gdouble *lnM_obs_upper,
                          const gdouble *lnM_obs_params);

FIXME

[virtual intP_bin]

Parameters

clusterm

a NcClusterMass

 

cosmo

a NcHICosmo

 

lnM

logarithm base e of the true mass

 

z

true redshift

 

lnM_obs_lower

FIXME.

[array][element-type gdouble]

lnM_obs_upper

FIXME.

[array][element-type gdouble]

lnM_obs_params

FIXME.

[array][element-type gdouble][allow-none]

Returns

FIXME


nc_cluster_mass_resample ()

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

Generates a random sample of the observed mass proxies given the true mass and redshift.

[virtual resample]

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 gdouble]

lnM_obs_params

observed mass params.

[array][element-type gdouble]

rng

a NcmRNG

 

Returns

TRUE if the sample was generated successfully within the limits of the observable mass proxies.


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

[virtual P_limits]

Parameters

clusterm

a NcClusterMass.

 

cosmo

a NcHICosmo.

 

lnM_obs

observed mass.

[array][element-type gdouble]

lnM_obs_params

observed mass params.

[array][element-type gdouble]

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_p_bin_limits ()

void
nc_cluster_mass_p_bin_limits (NcClusterMass *clusterm,
                              NcHICosmo *cosmo,
                              const gdouble *lnM_obs_lower,
                              const gdouble *lnM_obs_upper,
                              const gdouble *lnM_obs_params,
                              gdouble *lnM_lower,
                              gdouble *lnM_upper);

FIXME

[virtual P_bin_limits]

Parameters

clusterm

a NcClusterMass.

 

cosmo

a NcHICosmo.

 

lnM_obs_lower

observed mass.

[array][element-type gdouble]

lnM_obs_upper

observed mass.

[array][element-type gdouble]

lnM_obs_params

observed mass params.

[array][element-type gdouble]

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 .

[virtual N_limits]

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 logarithm base e of the true mass.

[out]

nc_cluster_mass_volume ()

gdouble
nc_cluster_mass_volume (NcClusterMass *clusterm);

FIXME

[virtual volume]

Parameters

clusterm

a NcClusterMass.

 

Returns

FIXME


nc_cluster_mass_p_vec_z_lnMobs ()

void
nc_cluster_mass_p_vec_z_lnMobs (NcClusterMass *clusterm,
                                NcHICosmo *cosmo,
                                const gdouble lnM,
                                const NcmVector *z,
                                const NcmMatrix *lnM_obs,
                                const NcmMatrix *lnM_obs_params,
                                GArray *res);

FIXME

[virtual P_vec_z_lnMobs]

Parameters

clusterm

a NcClusterMass

 

cosmo

a NcHICosmo

 

lnM

FIXME

 

z

a NcmVector

 

lnM_obs

a NcmMatrix

 

lnM_obs_params

a NcmMatrix

 

res

a GArray.

[element-type gdouble]

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.

 

NC_CLUSTER_MASS_IMPL_ALL

#define NC_CLUSTER_MASS_IMPL_ALL NCM_MODEL_CLASS_IMPL_ALL