Source code for autogalaxy.profiles.mass.dark.nfw_mcr_scatter

from typing import Tuple
import numpy as np
from autogalaxy.profiles.mass.dark.nfw import NFWSph
from autogalaxy.profiles.mass.dark.nfw import NFW

from autogalaxy.profiles.mass.dark import mcr_util


[docs] class NFWMCRScatterLudlowSph(NFWSph): def __init__( self, centre: Tuple[float, float] = (0.0, 0.0), mass_at_200: float = 1e9, scatter_sigma: float = 0.0, redshift_object: float = 0.5, redshift_source: float = 1.0, ): self.mass_at_200 = mass_at_200 self.scatter_sigma = scatter_sigma self.redshift_object = redshift_object self.redshift_source = redshift_source ( kappa_s, scale_radius, radius_at_200, ) = mcr_util.kappa_s_and_scale_radius_for_ludlow( mass_at_200=mass_at_200, scatter_sigma=scatter_sigma, redshift_object=redshift_object, redshift_source=redshift_source, ) super().__init__(centre=centre, kappa_s=kappa_s, scale_radius=scale_radius)
[docs] class NFWMCRScatterLudlow(NFW): def __init__( self, centre: Tuple[float, float] = (0.0, 0.0), ell_comps: Tuple[float, float] = (0.0, 0.0), mass_at_200: float = 1e9, scatter_sigma: float = 0.0, redshift_object: float = 0.5, redshift_source: float = 1.0, ): self.mass_at_200 = mass_at_200 self.scatter_sigma = scatter_sigma self.redshift_object = redshift_object self.redshift_source = redshift_source ( kappa_s, scale_radius, radius_at_200, ) = mcr_util.kappa_s_and_scale_radius_for_ludlow( mass_at_200=mass_at_200, scatter_sigma=scatter_sigma, redshift_object=redshift_object, redshift_source=redshift_source, ) """ #Make correction that Andrew proposed fac = np.sqrt(ell_comps[1] ** 2 + ell_comps[0] ** 2) if fac > 0.999: fac = 0.999 # avoid unphysical solution # if fac > 1: print('unphysical e1,e2') axis_ratio = (1 - fac) / (1 + fac) scale_radius = scale_radius / np.sqrt(axis_ratio) print('With Correction') """ super().__init__( centre=centre, ell_comps=ell_comps, kappa_s=kappa_s, scale_radius=scale_radius, )