def trans_tbl(self, inp, fill_ion=True): """ Generate a Table of Data on a given transition, e.g. SiIII 1206 Parameters ---------- inp : str or Quantity str -- Name of the transition, e.g. 'CII 1334' Quantity -- Rest wavelength of the transition, e.g. 1334.53*u.AA to 0.01 precision Returns ------- tbl : astropy.Table """ # Generate dummy IGMSurvey dumb = GenericIGMSurvey() names = [] for cgmabs in self.cgm_abs: dumb._abs_sys.append(cgmabs.igm_sys) # Names names.append(cgmabs.name) # Run ions tbl = dumb.trans(inp) # Add CGM name tbl.add_column(Column(names, name='cgm_name')) # Return return tbl
def ion_tbl(self, Zion, fill_ion=True): """ Generate a Table of Ionic column densities for an input ion Parameters ---------- Zion : tuple fill_ion : bool, optional Fill each ionN table in the survey (a bit slow) Returns ------- tbl : astropy.Table """ # Generate dummy IGMSurvey dumb = GenericIGMSurvey() names = [] for cgmabs in self.cgm_abs: if fill_ion: cgmabs.igm_sys.fill_ionN() dumb._abs_sys.append(cgmabs.igm_sys) # Names names.append(cgmabs.name) # Run ions tbl = dumb.ions(Zion) # Add CGM name tbl.add_column(Column(names, name='cgm_name')) # Return return tbl
def ion_tbl(self, Zion, fill_ion=True): """ Generate a Table of Ionic column densities for an input ion Parameters ---------- Zion : tuple or str fill_ion : bool, optional Fill each ionN table in the survey (a bit slow) Returns ------- tbl : astropy.Table """ from linetools.abund.ions import name_to_ion if isinstance(Zion, basestring): Zion = name_to_ion(Zion) # Generate dummy IGMSurvey dumb = GenericIGMSurvey() names = [] for cgmabs in self.cgm_abs: if fill_ion: cgmabs.igm_sys.fill_ionN() if cgmabs.igm_sys._ionN is not None: dumb._abs_sys.append(cgmabs.igm_sys) # Names names.append(cgmabs.name) # Run ions tbl = dumb.ions(Zion) # Add CGM name tbl.add_column(Column(names, name='cgm_name')) # Return return tbl
def ion_tbl(self, Zion, fill_ion=True, vrange=None, **kwargs): """ Generate a Table of Ionic column densities for an input ion Parameters ---------- Zion : tuple or str fill_ion : bool, optional Fill each ionN table in the survey (a bit slow) vrange : Quantity, optional Velocity range of components to sum column densities Returns ------- tbl : astropy.Table Returns None if there are no matches to input Zion """ from linetools.abund.ions import name_to_ion if isinstance(Zion, basestring): Zion = name_to_ion(Zion) # Generate dummy IGMSurvey dumb = GenericIGMSurvey() names = [] rhos = [] for cgmabs in self.cgm_abs: if fill_ion: cgmabs.igm_sys.fill_ionN(vrange=vrange, summed_ion=True) if cgmabs.igm_sys._ionN is not None: dumb._abs_sys.append(cgmabs.igm_sys) # Names names.append(cgmabs.name) # Impact parameters rhos.append(cgmabs.rho.to(u.kpc).value) # Run ions tbl = dumb.ions(Zion, skip_null=False, **kwargs) if tbl is None: return None tbl.add_column(Column(names, name='cgm_name')) # Add impact parameter tbl.add_column(Column(rhos * u.kpc, name='rho_impact')) # Return return tbl