Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
yield.h
Go to the documentation of this file.
1 /* This file is part of Cloudy and is copyright (C)1978-2023 by Gary J. Ferland and
2  * others. For conditions of distribution and use see copyright notice in license.txt */
3 
4 #ifndef YIELD_H_
5 #define YIELD_H_
6 
7 /* yield.h */
8 
10 #define MEWE_FLUOR 12000
11 
12 class t_yield : public Singleton<t_yield>
13 {
14  friend class Singleton<t_yield>;
15 protected:
16  t_yield();
17 private:
26  long int n_elec_eject[LIMELM][LIMELM][7];
27 
39 
41  long int nfl_lines;
42 
45 public:
46  void init_yield();
47 
48  realnum elec_eject_frac( long n, long i, long ns, long ne ) const
49  {
50  if( lgKillAuger )
51  return ( ne == 0 ) ? 1.f : 0.f;
52  else
53  return frac_elec_eject[n][i][ns][ne];
54  }
55  long nelec_eject( long n, long i, long ns ) const
56  {
57  return lgKillAuger ? 1 : n_elec_eject[n][i][ns];
58  }
59  int nelem( long n ) const { return nfl_nelem[n]; }
60  int ion( long n ) const { return nfl_ion[n]; }
61  int nshell( long n ) const { return nfl_nshell[n]; }
62  int ion_emit( long n ) const { return nfl_ion_emit[n]; }
63  realnum energy( long n ) const { return fl_energy[n]; }
64 
65  realnum yield( long n ) const
66  {
67  if( lgKillAuger )
68  return 0.;
69  else
70  return fl_yield[n];
71  }
72 
73  void set_ipoint( long n, long val ) { nfl_ipoint[n] = val; }
74  int ipoint( long n ) const { return nfl_ipoint[n]; }
75 
76  int nlines() const { return nfl_lines; }
77 
78  void kill_yield() { lgKillAuger = true; }
79  void reset_yield() { lgKillAuger = false; }
80 };
81 
82 #endif /* YIELD_H_ */
int nshell(long n) const
Definition: yield.h:61
realnum fl_energy[MEWE_FLUOR]
Definition: yield.h:35
int ion(long n) const
Definition: yield.h:60
int nelem(long n) const
Definition: yield.h:59
realnum fl_yield[MEWE_FLUOR]
Definition: yield.h:37
void kill_yield()
Definition: yield.h:78
Definition: cddefines.h:213
int nfl_nshell[MEWE_FLUOR]
Definition: yield.h:32
void set_ipoint(long n, long val)
Definition: yield.h:73
void init_yield()
Definition: atmdat_readin.cpp:886
int ion_emit(long n) const
Definition: yield.h:62
realnum energy(long n) const
Definition: yield.h:63
int nfl_nelem[MEWE_FLUOR]
Definition: yield.h:30
long nelec_eject(long n, long i, long ns) const
Definition: yield.h:55
#define MEWE_FLUOR
Definition: yield.h:10
realnum elec_eject_frac(long n, long i, long ns, long ne) const
Definition: yield.h:48
int nfl_nLine[MEWE_FLUOR]
Definition: yield.h:34
float realnum
Definition: cddefines.h:127
long int nfl_lines
Definition: yield.h:41
int ipoint(long n) const
Definition: yield.h:74
t_yield()
Definition: atmdat_readin.cpp:863
int nlines() const
Definition: yield.h:76
int nfl_ion_emit[MEWE_FLUOR]
Definition: yield.h:33
realnum frac_elec_eject[LIMELM][LIMELM][7][10]
Definition: yield.h:25
const int LIMELM
Definition: cddefines.h:318
long int nfl_ipoint[MEWE_FLUOR]
Definition: yield.h:38
long int n_elec_eject[LIMELM][LIMELM][7]
Definition: yield.h:26
int nfl_ion[MEWE_FLUOR]
Definition: yield.h:31
Definition: yield.h:12
void reset_yield()
Definition: yield.h:79
bool lgKillAuger
Definition: yield.h:44
realnum yield(long n) const
Definition: yield.h:65