Skip to content

Commit

Permalink
Updated test, and fixed minor issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
pennalima committed Aug 13, 2021
1 parent a8fb215 commit ddb2e34
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 12 deletions.
4 changes: 1 addition & 3 deletions examples/example_ca.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,7 @@ main (gint argc, gchar *argv[])
/****************************************************************************
* New multiplicity function 'NcMultiplicityFuncTinkerMean'
****************************************************************************/
mulf = nc_multiplicity_func_tinker_new ();
nc_multiplicity_func_set_mdef (NC_MULTIPLICITY_FUNC (mulf), NC_MULTIPLICITY_FUNC_MASS_DEF_MEAN);
nc_multiplicity_func_set_Delta (200.0);
mulf = nc_multiplicity_func_tinker_new_full (NC_MULTIPLICITY_FUNC_MASS_DEF_MEAN, 200.0);

/****************************************************************************
* New mass function object using the objects defined above.
Expand Down
6 changes: 3 additions & 3 deletions numcosmo/lss/nc_multiplicity_func_crocce.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,13 +214,13 @@ _nc_multiplicity_func_crocce_set_mdef (NcMultiplicityFunc *mulf, NcMultiplicityF
switch (mdef)
{
case NC_MULTIPLICITY_FUNC_MASS_DEF_MEAN:
g_error ("NcMultiplicityFuncPS does not support critical mass def");
g_error ("NcMultiplicityFuncCrocce does not support critical mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_CRITICAL:
g_error ("NcMultiplicityFuncPS does not support critical mass def");
g_error ("NcMultiplicityFuncCrocce does not support critical mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_VIRIAL:
g_error ("NcMultiplicityFuncPS does not support virial mass def");
g_error ("NcMultiplicityFuncCrocce does not support virial mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_FOF:
/* nothing to do */
Expand Down
49 changes: 47 additions & 2 deletions numcosmo/lss/nc_multiplicity_func_tinker.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,12 +84,25 @@ _nc_multiplicity_func_tinker_set_property (GObject * object, guint prop_id, cons
{
NcMultiplicityFuncTinker *mt = NC_MULTIPLICITY_FUNC_TINKER (object);
g_return_if_fail (NC_IS_MULTIPLICITY_FUNC_TINKER (object));
NcMultiplicityFuncTinkerPrivate * const self = mt->priv;

switch (prop_id)
{
case PROP_DELTA:
nc_multiplicity_func_tinker_set_Delta (mt, g_value_get_double (value));
break;
case PROP_A0:
self->A0 = g_value_get_double (value);
break;
case PROP_A1:
self->a0 = g_value_get_double (value);
break;
case PROP_B0:
self->b0 = g_value_get_double (value);
break;
case PROP_C:
self->c = g_value_get_double (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
Expand All @@ -101,12 +114,25 @@ _nc_multiplicity_func_tinker_get_property (GObject * object, guint prop_id, GVal
{
NcMultiplicityFuncTinker *mt = NC_MULTIPLICITY_FUNC_TINKER (object);
g_return_if_fail (NC_IS_MULTIPLICITY_FUNC_TINKER (object));
NcMultiplicityFuncTinkerPrivate * const self = mt->priv;

switch (prop_id)
{
case PROP_DELTA:
g_value_set_double (value, nc_multiplicity_func_tinker_get_Delta (mt));
break;
case PROP_A0:
g_value_set_double (value, self->A0);
break;
case PROP_A1:
g_value_set_double (value, self->a0);
break;
case PROP_B0:
g_value_set_double (value, self->b0);
break;
case PROP_C:
g_value_set_double (value, self->c);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
Expand Down Expand Up @@ -391,10 +417,10 @@ _nc_multiplicity_func_tinker_set_mdef (NcMultiplicityFunc *mulf, NcMultiplicityF
self->eval = &_nc_multiplicity_func_tinker_crit_eval;
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_VIRIAL:
g_error ("NcMultiplicityFuncPS does not support virial mass def");
g_error ("NcMultiplicityFuncTinker does not support virial mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_FOF:
g_error ("NcMultiplicityFuncPS does not support fof mass def");
g_error ("NcMultiplicityFuncTinker does not support fof mass def");
break;
default:
g_assert_not_reached ();
Expand Down Expand Up @@ -438,6 +464,25 @@ nc_multiplicity_func_tinker_new (void)
NULL);
}

/**
* nc_multiplicity_func_tinker_new_full:
* @mdef: a #NcMultiplicityFuncMassDef
* @Delta: parameter that multiplies the background mass density (mean ou critical)
*
* FIXME
*
* Returns: A new #NcMultiplicityFuncTinker.
*/
NcMultiplicityFuncTinker *
nc_multiplicity_func_tinker_new_full (NcMultiplicityFuncMassDef mdef, gdouble Delta)
{

return g_object_new (NC_TYPE_MULTIPLICITY_FUNC_TINKER,
"mass-def", mdef,
"Delta", Delta,
NULL);
}

/**
* nc_multiplicity_func_tinker_ref:
* @mt: a #NcMultiplicityFuncTinker
Expand Down
1 change: 1 addition & 0 deletions numcosmo/lss/nc_multiplicity_func_tinker.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ struct _NcMultiplicityFuncTinker
GType nc_multiplicity_func_tinker_get_type (void) G_GNUC_CONST;

NcMultiplicityFuncTinker *nc_multiplicity_func_tinker_new (void);
NcMultiplicityFuncTinker *nc_multiplicity_func_tinker_new_full (NcMultiplicityFuncMassDef mdef, gdouble Delta);
NcMultiplicityFuncTinker *nc_multiplicity_func_tinker_ref (NcMultiplicityFuncTinker *mt);

void nc_multiplicity_func_tinker_free (NcMultiplicityFuncTinker *mt);
Expand Down
6 changes: 3 additions & 3 deletions numcosmo/lss/nc_multiplicity_func_warren.c
Original file line number Diff line number Diff line change
Expand Up @@ -214,13 +214,13 @@ _nc_multiplicity_func_warren_set_mdef (NcMultiplicityFunc *mulf, NcMultiplicityF
/* nothing to do */
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_CRITICAL:
g_error ("NcMultiplicityFuncPS does not support critical mass def");
g_error ("NcMultiplicityFuncWarren does not support critical mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_VIRIAL:
g_error ("NcMultiplicityFuncPS does not support virial mass def");
g_error ("NcMultiplicityFuncWarren does not support virial mass def");
break;
case NC_MULTIPLICITY_FUNC_MASS_DEF_FOF:
g_error ("NcMultiplicityFuncPS does not support fof mass def");
g_error ("NcMultiplicityFuncWarren does not support fof mass def");
break;
default:
g_assert_not_reached ();
Expand Down
2 changes: 1 addition & 1 deletion tests/test_nc_cluster_pseudo_counts.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ test_nc_cluster_pseudo_counts_new (TestNcClusterPseudoCounts *test, gconstpointe
NcTransferFunc *tf = nc_transfer_func_new_from_name ("NcTransferFuncEH");
NcPowspecML *ps_ml = NC_POWSPEC_ML (nc_powspec_ml_transfer_new (tf));
NcmPowspecFilter *psf = ncm_powspec_filter_new (NCM_POWSPEC (ps_ml), NCM_POWSPEC_FILTER_TYPE_TOPHAT);
NcMultiplicityFunc *mulf = nc_multiplicity_func_new_from_name ("NcMultiplicityFuncTinkerCrit{'Delta':<500.0>}");
NcMultiplicityFunc *mulf = NC_MULTIPLICITY_FUNC (nc_multiplicity_func_tinker_new_full (NC_MULTIPLICITY_FUNC_MASS_DEF_CRITICAL, 500.0));
NcHaloMassFunction *mfp = nc_halo_mass_function_new (dist, psf, mulf);
NcClusterPseudoCounts *cpc = NC_CLUSTER_PSEUDO_COUNTS (nc_cluster_pseudo_counts_new (1));
NcClusterMass *clusterm = NC_CLUSTER_MASS (nc_cluster_mass_new_from_name ("NcClusterMassPlCL"));
Expand Down

0 comments on commit ddb2e34

Please sign in to comment.