Example #1
0
    def add_DLA(self,
                z,
                NHI=20.3,
                bval=30. * u.km / u.s,
                comment='None',
                model=True):
        """Generate a new DLA
        """
        # Lya, Lyb
        dla_lines = []  # For convenience
        for trans in ['HI 1025', 'HI 1215']:
            iline = AbsLine(trans, z=z)
            iline.attrib['flag_N'] = 1
            iline.attrib['N'] = 10**NHI / u.cm**2
            iline.attrib['sig_N'] = 1 / u.cm**2  # Avoid nan
            iline.attrib['b'] = bval
            iline.attrib['coord'] = SkyCoord(ra=0 * u.deg, dec=0 * u.deg)
            dla_lines.append(iline)
        # Generate system
        HIcomponent = ltiu.build_components_from_abslines(dla_lines)[0]
        HIcomponent.synthesize_colm()
        new_sys = DLASystem.from_components([HIcomponent
                                             ])  #(0*u.deg,0*u.deg),z,None,NHI)
        #QtCore.pyqtRemoveInputHook()
        #import pdb; pdb.set_trace()
        #QtCore.pyqtRestoreInputHook()
        new_sys.bval = bval  # This is not standard, but for convenience
        new_sys.comment = comment
        new_sys.dla_lines = dla_lines  # Also for convenience
        # Name
        self.count_dla += 1
        new_sys.label = 'DLA_Sys_{:d}'.format(self.count_dla)
        # Add
        self.abssys_widg.add_fil(new_sys.label)
        self.abssys_widg.all_abssys.append(new_sys)
        self.abssys_widg.abslist_widget.item(len(
            self.abssys_widg.all_abssys)).setSelected(True)

        # Update
        self.llist['Plot'] = False  # Turn off metal-lines
        if model:  # For dealing with initialization
            self.update_model()
Example #2
0
def test_DLA_from_components():
    radec = SkyCoord(ra=123.1143*u.deg, dec=-12.4321*u.deg)
    # HI Lya, Lyb
    lya = AbsLine(1215.670*u.AA)
    lya.analy['vlim'] = [-300.,300.]*u.km/u.s
    lya.attrib['z'] = 2.92939
    lya.attrib['N'] = 3e20 / u.cm**2
    lyb = AbsLine(1025.7222*u.AA)
    lyb.analy['vlim'] = [-300.,300.]*u.km/u.s
    lyb.attrib['z'] = lya.attrib['z']
    lyb.attrib['N'] = 3e20 / u.cm**2
    abscomp = AbsComponent.from_abslines([lya,lyb])
    abscomp.coord = radec
    # Instantiate
    HIsys = DLASystem.from_components([abscomp])
    # Test
    np.testing.assert_allclose(HIsys.NHI, 20.477121254719663)
    assert len(HIsys._components) == 1
    assert HIsys._components[0].Zion[0] == 1
    assert HIsys._components[0].Zion[1] == 1
Example #3
0
def test_DLA_from_components():
    radec = SkyCoord(ra=123.1143*u.deg, dec=-12.4321*u.deg)
    # HI Lya, Lyb
    lya = AbsLine(1215.670*u.AA, z=2.92939)
    lya.analy['vlim'] = [-300.,300.]*u.km/u.s
    lya.attrib['flag_N'] = 1
    lya.attrib['N'] = 3e20 / u.cm**2
    lya.attrib['sig_N'] = [1]*2 / u.cm**2
    lyb = AbsLine(1025.7222*u.AA, z=lya.z)
    lyb.analy['vlim'] = [-300.,300.]*u.km/u.s
    lyb.attrib['N'] = 3e20 / u.cm**2
    lyb.attrib['flag_N'] = 1
    lyb.attrib['sig_N'] = [1]*2 / u.cm**2
    abscomp = AbsComponent.from_abslines([lya,lyb])
    abscomp.coord = radec
    # Instantiate
    HIsys = DLASystem.from_components([abscomp])
    # Test
    np.testing.assert_allclose(HIsys.NHI, 20.477121254719663)
    assert len(HIsys._components) == 1
    assert HIsys._components[0].Zion[0] == 1
    assert HIsys._components[0].Zion[1] == 1