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()
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
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