Class
NumCosmoGalaxyShapePop
Description [src]
abstract class NumCosmo.GalaxyShapePop : NumCosmoMath.Model
{
/* No available fields */
}
Abstract model for the intrinsic galaxy ellipticity distribution.
This small NcmModel describes the probability density of the intrinsic
ellipticity modulus squared $x = |\chi_I|^2 \in [0,1]$. It is a pure
parametric law for which the shape calculator (NcGalaxyWLShapeCalc) performs
the exact marginalization over the intrinsic ellipticity.
Each concrete model implements its density directly through the
nc_galaxy_shape_pop_eval_p() virtual: there is no shared factorization or
quadrature scheme imposed at this level, each subclass is simply
responsible for its own normalized $P(x)$. nc_galaxy_shape_pop_eval_p_rho2()
is the same density parameterized by $\rho^2$ instead of $x$ (related by
$x=\rho^2/(1+\rho^2)$, useful for calculators working in a
disc-compactified plane, e.g. NcGalaxyShapeFactorQuad); its default
implementation just substitutes into eval_p(), but a subclass may override
it with a more direct/better-conditioned form when its density happens to
have one (see NcGalaxyShapePopBeta). Following the NcGalaxyShapeFactorData /
NcGalaxyPositionFactorData idiom, the resolved per-galaxy state lives in a
NcGalaxyShapePopData: typed public fields (e_rms) plus an opaque ldata
holding the subclass-specific, varying/updatable resolved parameters.
nc_galaxy_shape_pop_prepare() resolves the model parameters (and any
per-galaxy e_rms) into that data.
Functions
nc_galaxy_shape_pop_clear
Decreases the reference count of gsp by one, and sets the pointer gsp to
NULL.
Instance methods
nc_galaxy_shape_pop_e_rms
Computes the per-component intrinsic RMS ellipticity
$e_\mathrm{rms} = \sqrt{\langle |\chi_I|^2 \rangle / 2}$ implied by data.
nc_galaxy_shape_pop_eval_p
Evaluates the normalized density $P(x)$ of the squared intrinsic
ellipticity modulus, reading the resolved parameters from data (no live
parameter access).
nc_galaxy_shape_pop_eval_p_rho2
Evaluates the same density as nc_galaxy_shape_pop_eval_p(), but parameterized
directly by $\rho^2$ instead of $x$. The default implementation just
substitutes $x=\rho^2/(1+\rho^2)$ into eval_p(); a subclass overrides it
only when its density has a genuinely more direct or better-conditioned
form in $\rho^2$ (see NcGalaxyShapePopBeta, whose density is a rational
power of $\rho^2$ with no need to ever form $1-x$ by subtraction).
Intended for calculators that already work in $(u,v)$ via a
disc-compactifying substitution (e.g. NcGalaxyShapeFactorQuad), where
$\rho^2$ is the natural coordinate.
nc_galaxy_shape_pop_eval_p_rho2_g_series
Taylor-in-$g$ analog of nc_galaxy_shape_pop_eval_p(): composes this
population’s own fully normalized density with the (already computed,
population-independent) shear-map series $x(g)$, order by order in $g$.
There is no generic default — every subclass used with
NcGalaxyShapeFactorSeriesLensed must provide its own implementation; the
base class errors clearly otherwise.
nc_galaxy_shape_pop_get_mode_x
Gets the mode of $x=|\chi_I|^2$ for this galaxy’s resolved population
density, i.e. where $P(x)$ peaks. This is a per-data capability
(data->ldata_get_mode_x), not a virtual method, mirroring
nc_galaxy_shape_pop_get_sigma(); unlike that capability, 0 is always a
meaningful default (the model is assumed radially symmetric about
$\chi_I=0$ unless it says otherwise), so this never errors.
nc_galaxy_shape_pop_get_sigma
Gets the (untruncated) Gaussian width sigma resolved for this galaxy, for
models that parameterize their density this way (the Gauss family, Global
or per-galaxy). This is a per-data capability (data->ldata_get_sigma),
not a virtual method: any concrete model sharing the same internal
representation can populate it, regardless of its position in the class hierarchy.
nc_galaxy_shape_pop_prepare
Resolves the model parameters (and the per-galaxy data->e_rms, for per-galaxy
models) into data: the subclass-specific parameters stored in data->ldata
that nc_galaxy_shape_pop_eval_p() / nc_galaxy_shape_pop_eval_p_rho2() read.
Properties
Properties inherited from NcmModel (9)
NumCosmoMath.Model:implementation
NumCosmoMath.Model:name
NumCosmoMath.Model:nick
NumCosmoMath.Model:params-types
NumCosmoMath.Model:reparam
NumCosmoMath.Model:scalar-params-len
NumCosmoMath.Model:sparam-array
NumCosmoMath.Model:submodel-array
NumCosmoMath.Model:vector-params-len
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Class structure
struct NumCosmoGalaxyShapePopClass {
void (* data_init) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data
);
void (* prepare) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data
);
gdouble (* eval_p) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data,
const gdouble x
);
gdouble (* eval_p_rho2) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data,
const gdouble rho2
);
void (* gen) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data,
NcmRNG* rng,
gdouble* e_int_1,
gdouble* e_int_2
);
gdouble (* e_rms) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data
);
void (* eval_p_rho2_g_series) (
NcGalaxyShapePop* gsp,
NcGalaxyShapePopData* data,
const NcmLaurentSeriesTPS* x_series,
NcmLaurentSeriesTPS* out
);
}
No description available.
Class members
data_init: void (* data_init) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data )No description available.
prepare: void (* prepare) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data )No description available.
eval_p: gdouble (* eval_p) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data, const gdouble x )No description available.
eval_p_rho2: gdouble (* eval_p_rho2) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data, const gdouble rho2 )No description available.
gen: void (* gen) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data, NcmRNG* rng, gdouble* e_int_1, gdouble* e_int_2 )No description available.
e_rms: gdouble (* e_rms) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data )No description available.
eval_p_rho2_g_series: void (* eval_p_rho2_g_series) ( NcGalaxyShapePop* gsp, NcGalaxyShapePopData* data, const NcmLaurentSeriesTPS* x_series, NcmLaurentSeriesTPS* out )No description available.
Virtual methods
NumCosmo.GalaxyShapePopClass.e_rms
Computes the per-component intrinsic RMS ellipticity
$e_\mathrm{rms} = \sqrt{\langle |\chi_I|^2 \rangle / 2}$ implied by data.
NumCosmo.GalaxyShapePopClass.eval_p
Evaluates the normalized density $P(x)$ of the squared intrinsic
ellipticity modulus, reading the resolved parameters from data (no live
parameter access).
NumCosmo.GalaxyShapePopClass.eval_p_rho2
Evaluates the same density as nc_galaxy_shape_pop_eval_p(), but parameterized
directly by $\rho^2$ instead of $x$. The default implementation just
substitutes $x=\rho^2/(1+\rho^2)$ into eval_p(); a subclass overrides it
only when its density has a genuinely more direct or better-conditioned
form in $\rho^2$ (see NcGalaxyShapePopBeta, whose density is a rational
power of $\rho^2$ with no need to ever form $1-x$ by subtraction).
Intended for calculators that already work in $(u,v)$ via a
disc-compactifying substitution (e.g. NcGalaxyShapeFactorQuad), where
$\rho^2$ is the natural coordinate.
NumCosmo.GalaxyShapePopClass.eval_p_rho2_g_series
Taylor-in-$g$ analog of nc_galaxy_shape_pop_eval_p(): composes this
population’s own fully normalized density with the (already computed,
population-independent) shear-map series $x(g)$, order by order in $g$.
There is no generic default — every subclass used with
NcGalaxyShapeFactorSeriesLensed must provide its own implementation; the
base class errors clearly otherwise.
NumCosmo.GalaxyShapePopClass.prepare
Resolves the model parameters (and the per-galaxy data->e_rms, for per-galaxy
models) into data: the subclass-specific parameters stored in data->ldata
that nc_galaxy_shape_pop_eval_p() / nc_galaxy_shape_pop_eval_p_rho2() read.