示例#1
0
    def _fill_params(tab):

        print("here")

        tab['param_values'] = np.nan * np.ones((len(tab), 10))

        # PowerLaw
        # Prefactor, Index, Scale
        m = tab['SpectrumType'] == 'PowerLaw'
        idxs = {k: i for i, k in enumerate(get_function_par_names('PowerLaw'))}
        tab['param_values'][m, idxs['Prefactor']] = tab['PL_Flux_Density'][m]
        tab['param_values'][m, idxs['Index']] = -1.0 * tab['PL_Index'][m]
        tab['param_values'][m, idxs['Scale']] = tab['Pivot_Energy'][m]

        # PLSuperExpCutoff2 or PLSuperExpCutoff
        # Prefactor, Index1, Scale, Expfactor, Index2
        m = tab['SpectrumType'] == 'PLSuperExpCutoff2'
        idxs = {
            k: i
            for i, k in enumerate(get_function_par_names('PLSuperExpCutoff2'))
        }
        tab['param_values'][m, idxs['Prefactor']] = (
            tab['PLEC_Flux_Density'][m] *
            np.exp(tab['PLEC_Expfactor'][m] *
                   tab['Pivot_Energy'][m]**tab['PLEC_Exp_Index'][m]))
        tab['param_values'][m, idxs['Index1']] = -1.0 * tab['PLEC_Index'][m]
        tab['param_values'][m, idxs['Scale']] = tab['Pivot_Energy'][m]
        tab['param_values'][m, idxs['Expfactor']] = tab['PLEC_Expfactor'][m]
        tab['param_values'][m, idxs['Index2']] = tab['PLEC_Exp_Index'][m]

        # LogParabola
        # norm, alpha, beta, Eb
        m = tab['SpectrumType'] == 'LogParabola'
        idxs = {
            k: i
            for i, k in enumerate(get_function_par_names('LogParabola'))
        }
        tab['param_values'][m, idxs['norm']] = tab['LP_Flux_Density'][m]
        tab['param_values'][m, idxs['alpha']] = tab['LP_Index'][m]
        tab['param_values'][m, idxs['beta']] = tab['LP_beta'][m]
        tab['param_values'][m, idxs['Eb']] = tab['Pivot_Energy'][m]
示例#2
0
    def _fill_params(tab):

        tab['param_values'] = np.nan * np.ones((len(tab), 10))

        # PowerLaw
        # Prefactor, Index, Scale
        m = tab['SpectrumType'] == 'PowerLaw'
        idxs = {k: i for i, k in
                enumerate(get_function_par_names('PowerLaw'))}
        tab['param_values'][m, idxs['Prefactor']] = tab['Flux_Density'][m]
        tab['param_values'][m, idxs['Index']] = -1.0 * tab['PL_Index'][m]
        tab['param_values'][m, idxs['Scale']] = tab['Pivot_Energy'][m]

        # PLSuperExpCutoff2
        # Prefactor, Index1, Scale, Expfactor, Index2
        m = tab['SpectrumType'] == 'PLSuperExpCutoff2'
        idxs = {k: i for i, k in
                enumerate(get_function_par_names('PLSuperExpCutoff2'))}
        tab['param_values'][m, idxs['Prefactor']] = (tab['Flux_Density'][m] *
                                                     np.exp(tab['PLEC_Expfactor'][m] *
                                                            tab['Pivot_Energy'][m] **
                                                            tab['PLEC_Exp_Index'][m]))
        tab['param_values'][m, idxs['Index1']] = -1.0 * tab['PLEC_Index'][m]
        tab['param_values'][m, idxs['Scale']] = tab['Pivot_Energy'][m]
        tab['param_values'][m, idxs['Expfactor']] = tab['PLEC_Expfactor'][m]
        tab['param_values'][m, idxs['Index2']] = tab['PLEC_Exp_Index'][m]

        # LogParabola
        # norm, alpha, beta, Eb
        m = tab['SpectrumType'] == 'LogParabola'
        idxs = {k: i for i, k in
                enumerate(get_function_par_names('LogParabola'))}
        tab['param_values'][m, idxs['norm']] = tab['Flux_Density'][m]
        tab['param_values'][m, idxs['alpha']] = tab['LP_Index'][m]
        tab['param_values'][m, idxs['beta']] = tab['LP_beta'][m]
        tab['param_values'][m, idxs['Eb']] = tab['Pivot_Energy'][m]