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.

Ancestors

Functions

nc_galaxy_shape_pop_clear

Decreases the reference count of gsp by one, and sets the pointer gsp to NULL.

nc_galaxy_shape_pop_id
No description available.

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_free

Decreases the reference count of gsp by one.

nc_galaxy_shape_pop_gen

Samples an intrinsic ellipticity $\chi_I = e_1 + i e_2$ from data.

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.

nc_galaxy_shape_pop_ref

Increases the reference count of gsp by one.

Methods inherited from NcmModel (89)

Please see NcmModel for a full list of methods.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Properties inherited from NcmModel (9)
NumCosmoMath.Model:implementation
No description available.
NumCosmoMath.Model:name
No description available.
NumCosmoMath.Model:nick
No description available.
NumCosmoMath.Model:params-types
No description available.
NumCosmoMath.Model:reparam
No description available.
NumCosmoMath.Model:scalar-params-len
No description available.
NumCosmoMath.Model:sparam-array
No description available.
NumCosmoMath.Model:submodel-array
No description available.
NumCosmoMath.Model:vector-params-len
No description available.

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.data_init
No description available.

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.gen

Samples an intrinsic ellipticity $\chi_I = e_1 + i e_2$ from data.

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.