00001 /* This file is part of Cloudy and is copyright (C)1978-2007 by Gary J. Ferland 00002 * For conditions of distribution and use see copyright notice in license.txt */ 00003 /* yield.h */ 00004 00006 #define MEWE_FLUOR 12000 00007 00008 class t_yield : public Singleton<t_yield> 00009 { 00010 friend class Singleton<t_yield>; 00011 protected: 00012 t_yield(); 00013 private: 00021 float frac_elec_eject[30][30][7][10]; 00022 long int n_elec_eject[30][30][7]; 00023 00026 int nfl_nelem[MEWE_FLUOR]; 00027 int nfl_ion[MEWE_FLUOR]; 00028 int nfl_nshell[MEWE_FLUOR]; 00029 int nfl_ion_emit[MEWE_FLUOR]; 00030 int nfl_nLine[MEWE_FLUOR]; 00031 float fl_energy[MEWE_FLUOR]; 00033 float fl_yield[MEWE_FLUOR]; 00034 long int nfl_ipoint[MEWE_FLUOR]; 00035 00037 long int nfl_lines; 00038 00040 bool lgKillAuger; 00041 00042 void do_kill_yield(); 00043 public: 00044 void init_yield(); 00045 00046 float elec_eject_frac( long n, long i, long ns, long ne ) const { return frac_elec_eject[n][i][ns][ne]; } 00047 long nelec_eject( long n, long i, long ns ) const { return n_elec_eject[n][i][ns]; } 00048 int nelem( long n ) const { return nfl_nelem[n]; } 00049 int ion( long n ) const { return nfl_ion[n]; } 00050 int nshell( long n ) const { return nfl_nshell[n]; } 00051 int ion_emit( long n ) const { return nfl_ion_emit[n]; } 00052 float energy( long n ) const { return fl_energy[n]; } 00053 float yield( long n ) const { return fl_yield[n]; } 00054 void set_ipoint( long n, long val ) { nfl_ipoint[n] = val; } 00055 int ipoint( long n ) const { return nfl_ipoint[n]; } 00056 00057 int nlines() const { return nfl_lines; } 00058 00059 void kill_yield() { lgKillAuger = true; } 00060 void reset_yield() { lgKillAuger = false; } 00061 }; 00062