snsim.generators ================ .. py:module:: snsim.generators .. autoapi-nested-parse:: This module contain generators class. Classes ------- .. autoapisummary:: snsim.generators.BaseGen snsim.generators.SNIaGen snsim.generators.CCGen snsim.generators.SNIIGen snsim.generators.SNIIplGen snsim.generators.SNIIbGen snsim.generators.SNIInGen snsim.generators.SNIbcGen snsim.generators.SNIcGen snsim.generators.SNIbGen snsim.generators.SNIc_BLGen snsim.generators.SNIapeculiarGen snsim.generators.SNIaxGen snsim.generators.SNIa_91bgGen Module Contents --------------- .. py:class:: BaseGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`abc.ABC` Abstract class for basic astrobj generator. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:attribute:: sim_effects .. py:method:: gen_par(n_obj, basic_par, seed=None) :abstractmethod: Abstract method to add random generated parameters specific to the astro object used, called in __call__ :param basic_par: Contains basic random generated properties. :type basic_par: dict(key: np.ndarray()) :param seed: Random seed. :type seed: int or numpy.random.SeedSequence, optional .. py:method:: gen_peak_time(n, seed=None) Generate uniformly n peak time in the survey time range. :param n: Number of time to generate. :type n: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: A numpy array which contains generated peak time. :rtype: numpy.ndarray(float) .. py:method:: gen_coord(n, seed=None) Generate n coords (ra,dec) uniformly on the sky sphere. :param n: Number of coords to generate. :type n: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: 2 numpy arrays containing generated coordinates. :rtype: numpy.ndarray(float), numpy.ndarray(float) .. py:method:: gen_zcos(n, seed=None) Generate n cosmological redshift in a range. :param n: Number of redshifts to generate. :type n: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: A numpy array which contains generated cosmological redshift. :rtype: numpy.ndarray(float) .. py:method:: gen_vpec(n, seed=None) Generate n peculiar velocities. :param n: Number of vpec to generate. :type n: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: numpy array containing vpec (km/s) generated. :rtype: numpy.ndarray(float) .. py:method:: gen_basic_par(n_obj, seed=None, min_max_t=False) Generate basic obj properties. :param n_obj: Number of obj. :type n_obj: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional .. rubric:: Notes List of parameters: * t0 : obj peak * zcos : cosmological redshift * ra : Right Ascension * dec : Declinaison * vpec : peculiar velocity * como_dist : comoving distance * zpcmb : CMB dipole redshift contribution * mw_ebv, opt : Milky way dust extinction * host_, opt : host parameters .. py:method:: random_models(n_obj, seed=None) Draw n random models for a given source. :param n_obj: Number of models to draw. :type n_obj: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: **dic(model_names** -- Dic which contains list of model_names and versions. :rtype: list, model_version: list) .. py:property:: hosts Get the host class. .. py:property:: vpec_dist Get the peculiar velocity distribution parameters. .. py:property:: mw_dust Get the mw_dust parameters. .. py:property:: cosmology Get astropy cosmological model. .. py:property:: cmb Get cmb used parameters. .. py:property:: time_range Get time range. .. py:property:: z_range Get redshift range. .. py:property:: z_cdf Get the redshift cumulative distribution. .. py:class:: SNIaGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`BaseGen` SNIa parameters generator. Inherit from BaseGen Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:attribute:: SNIA_M0 .. py:method:: gen_par(n_obj, basic_par, seed=None) Generate SNIa specific parameters. :param n_obj: Number of parameters to generate. :type n_obj: int :param basic_par: Dataframe with pre-generated parameters. :type basic_par: pd.DataFrame :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: One dictionnary containing 'parameters names': numpy.ndarray(float). :rtype: dict .. py:method:: gen_coh_scatter(n_sn, seed=None) Generate n coherent mag scattering term. :param n_sn: Number of mag scattering terms to generate. :type n_sn: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: numpy array containing scattering terms generated. :rtype: numpy.ndarray(float) .. py:method:: gen_salt_par(n_sn, seed=None, basic_par=None) Generate SALT parameters. :param n_sn: Number of parameters to generate. :type n_sn: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :param basic_par: Pre-generated parameters. :type basic_par: pd.DataFrame :returns: 2 numpy arrays containing SALT2 x1 and c generated parameters. :rtype: numpy.ndarray(float), numpy.ndarray(float) .. py:class:: CCGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`BaseGen` Template for CoreColapse. Inherit from BaseGen. .. rubric:: Notes For Rate: * SNCC ztf20 relative fraction of SNe subtypes from https://arxiv.org/abs/2009.01242 figure 6 + ztf20 relative fraction between SNe Ic and SNe Ib from https://iopscience.iop.org/article/10.3847/1538-4357/aa5eb7/meta * SNCC shiver17 fraction from https://arxiv.org/abs/1609.02922 Table 3 For Luminosity Functions: * SNCC M0 mean and scattering of luminosity function values from Vincenzi et al. 2021 Table 5 (https://arxiv.org/abs/2111.10382) Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:method:: gen_coh_scatter(n_sn, seed=None) Generate n coherent mag scattering term. :param n: Number of mag scattering terms to generate. :type n: int :param seed: Random seed, by default None :type seed: int or numpy.random.SeedSequence, optional :returns: numpy array containing scattering terms generated. :rtype: numpy.ndarray(float) .. py:method:: gen_par(n_obj, basic_par, seed=None) Generate sncosmo model dependant parameters (others than redshift and t0). :param n_obj: Number of parameters to generate. :type n_obj: int :param basic_par: Pre-generated parameters. :param seed: Random seed, by default None . :type seed: int or numpy.random.SeedSequence, optional :returns: One dictionnary containing 'parameters names': numpy.ndarray(float). :rtype: dict .. py:method:: init_M0_for_type() Initialise absolute magnitude using default values from past literature works based on the type. .. py:method:: gen_coh_scatter_for_type(n_sn, seed) Generate n coherent mag scattering term using default values from past literature works based on the type. .. py:class:: SNIIGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNII parameters generator. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:method:: init_M0_for_type() Initialise absolute magnitude using default values from past literature works based on the type. .. py:method:: gen_coh_scatter_for_type(n_sn, seed) Generate n coherent mag scattering term using default values from past literature works based on the type. .. py:class:: SNIIplGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIIPL parameters generator. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIIbGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIIb parameters generator. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIInGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIIn parameters generator. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIbcGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIb/c parameters generator. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:method:: init_M0_for_type() Initialise absolute magnitude using default values from past literature works based on the type. .. py:method:: gen_coh_scatter_for_type(n_sn, seed) Generate n coherent mag scattering term using default values from past literature works based on the type. .. py:class:: SNIcGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIc class. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIbGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIb class. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIc_BLGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`CCGen` SNIc_BL class. Inherit from CCGen. Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIapeculiarGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`BaseGen` SNIa_peculiar class. Models form platicc challenge ask Rick need a directory to store model Parameters ---------- same as TimeSeriesGen class Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:method:: gen_par(n_obj, basic_par, seed=None) Abstract method to add random generated parameters specific to the astro object used, called in __call__ :param basic_par: Contains basic random generated properties. :type basic_par: dict(key: np.ndarray()) :param seed: Random seed. :type seed: int or numpy.random.SeedSequence, optional .. py:class:: SNIaxGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`SNIapeculiarGen` SNIaxclass. Models form platicc challenge ask Rick need a directory to store model Parameters ---------- same as TimeSeriesGen class Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range. .. py:class:: SNIa_91bgGen(params, cosmology, time_range, z_range=None, vpec_dist=None, hosts=None, mw_dust=None, cmb=None, geometry=None) Bases: :py:obj:`SNIapeculiarGen` SNIa 91bg-like class. Models form platicc challenge ask Rick need a directory to store model Parameters ---------- same as TimeSeriesGen class Init BaseGen class. :param params: Basic generator configuration. :type params: dict :param cosmology: The cosmological model to use. :type cosmology: astropy.cosmology :param time_range: (tmin, tmax) time range. :type time_range: tuple :param z_range: (zmin, zmax) redshift range, no need to be defined if there is hosts, by default None :type z_range: tuple, optional :param vpec_dist: PV distrib parameters, by default None | vpec_dist | ├── mean_vpec, by default 0. | └── sig_vpec, by default 0. :type vpec_dist: dic, optional :param hosts: hosts for simulated SN, by default None :type hosts: snsim.SnHost, optional :param mw_dust: Milky Way dust, by default None :type mw_dust: dic, optional :param cmb: CMB dipole parameters, by default None | cmb | ├── v_cmb, by default 369.82 km/s | ├── l_cmb, by default 264.021 deg | └── b_cmb, by default 48.253 deg :type cmb: dic, optional :param geometry: The survey footprint, by default None :type geometry: shapely.geometry, optional :raises ValueError: If you set PV dist and hosts at the same time. :raises ValueError: If you neither set PV or hosts. :raises ValueError: If no hosts and no z_range.