cloudy
trunk
Loading...
Searching...
No Matches
source
energy.h
Go to the documentation of this file.
1
/* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2
* others. For conditions of distribution and use see copyright notice in license.txt */
3
4
#ifndef ENERGY_H_
5
#define ENERGY_H_
6
7
class
Energy
8
{
9
double
m_energy
;
10
public
:
11
// CONSTRUCTORS
12
Energy
() :
m_energy
(0.0) {}
13
Energy
(
double
energy) :
m_energy
(energy) {}
14
Energy
(
double
energy,
const
char
*unit) :
m_energy
(0.0)
15
{
16
set
(energy, unit);
17
}
18
// MUTATORS
19
void
set
(
double
energy)
20
{
21
m_energy
= energy;
22
}
23
void
set
(
double
energy,
const
char
*unit);
24
// ACCESSORS
25
double
get
(
const
char
* unit)
const
;
26
double
Ryd
()
const
27
{
28
return
m_energy
;
29
}
30
double
K
()
const
31
{
32
return
m_energy
*
TE1RYD
;
33
}
34
double
Erg
()
const
35
{
36
return
m_energy
*
EN1RYD
;
37
}
38
double
WN
()
const
39
{
40
return
m_energy
*
RYD_INF
;
41
}
42
double
eV
()
const
43
{
44
return
m_energy
*
EVRYD
;
45
}
46
double
keV
()
const
47
{
48
return
1e-3*
eV
();
49
}
50
double
MeV
()
const
51
{
52
return
1e-6*
eV
();
53
}
54
double
Hz
()
const
55
{
56
return
m_energy
*
FR1RYD
;
57
}
58
double
kHz
()
const
59
{
60
return
Hz
()*1e-3;
61
}
62
double
MHz
()
const
63
{
64
return
Hz
()*1e-6;
65
}
66
double
GHz
()
const
67
{
68
return
Hz
()*1e-9;
69
}
70
double
Angstrom
()
const
71
{
72
return
RYDLAM
/
m_energy
;
73
}
74
double
nm
()
const
75
{
76
return
Angstrom
()*1e-1;
77
}
78
double
micron
()
const
79
{
80
return
Angstrom
()*1e-4;
81
}
82
double
mm
()
const
83
{
84
return
Angstrom
()*1e-7;
85
}
86
double
cm
()
const
87
{
88
return
Angstrom
()*1e-8;
89
}
90
};
91
92
//
97
//
98
class
EnergyEntry
:
public
Energy
99
{
100
long
p_ip
;
101
void
p_set_ip
();
102
public
:
103
EnergyEntry
() :
Energy
(0.)
104
{
105
p_ip
= -1;
106
}
107
EnergyEntry
(
double
energy) :
Energy
(energy)
108
{
109
p_ip
= -1;
110
}
111
EnergyEntry
(
double
energy,
const
char
*unit) :
Energy
(energy,unit)
112
{
113
p_ip
= -1;
114
}
115
void
set
(
double
energy,
const
char
*unit)
116
{
117
Energy::set
(energy,unit);
118
p_set_ip
();
119
}
120
void
set
(
double
energy)
121
{
122
Energy::set
(energy);
123
p_set_ip
();
124
}
125
// pointer on C scale
126
long
ip_C
()
127
{
128
// doing it this way assures that we can create an EnergyEntry before
129
// the mesh is set up; ipoint() will check that mesh is actually set up
130
if
(
p_ip
< 0 )
131
p_set_ip
();
132
return
p_ip
;
133
}
134
// pointer on fortran scale
135
long
ip_fortran
()
136
{
137
return
ip_C
() + 1;
138
}
139
};
140
141
const
char
*
StandardEnergyUnit
(
const
char
*);
142
143
bool
lgConserveEnergy
(
void
);
144
145
#endif
/* ENERGY_H_ */
146
EnergyEntry::ip_fortran
long ip_fortran()
Definition
energy.h:135
EnergyEntry::set
void set(double energy)
Definition
energy.h:120
EnergyEntry::ip_C
long ip_C()
Definition
energy.h:126
EnergyEntry::set
void set(double energy, const char *unit)
Definition
energy.h:115
EnergyEntry::p_set_ip
void p_set_ip()
Definition
energy.cpp:293
EnergyEntry::EnergyEntry
EnergyEntry(double energy, const char *unit)
Definition
energy.h:111
EnergyEntry::EnergyEntry
EnergyEntry()
Definition
energy.h:103
EnergyEntry::EnergyEntry
EnergyEntry(double energy)
Definition
energy.h:107
EnergyEntry::p_ip
long p_ip
Definition
energy.h:100
Energy::GHz
double GHz() const
Definition
energy.h:66
Energy::mm
double mm() const
Definition
energy.h:82
Energy::MHz
double MHz() const
Definition
energy.h:62
Energy::MeV
double MeV() const
Definition
energy.h:50
Energy::get
double get(const char *unit) const
Definition
energy.cpp:141
Energy::Ryd
double Ryd() const
Definition
energy.h:26
Energy::Angstrom
double Angstrom() const
Definition
energy.h:70
Energy::nm
double nm() const
Definition
energy.h:74
Energy::WN
double WN() const
Definition
energy.h:38
Energy::cm
double cm() const
Definition
energy.h:86
Energy::Hz
double Hz() const
Definition
energy.h:54
Energy::kHz
double kHz() const
Definition
energy.h:58
Energy::keV
double keV() const
Definition
energy.h:46
Energy::Energy
Energy(double energy, const char *unit)
Definition
energy.h:14
Energy::micron
double micron() const
Definition
energy.h:78
Energy::Energy
Energy(double energy)
Definition
energy.h:13
Energy::K
double K() const
Definition
energy.h:30
Energy::Energy
Energy()
Definition
energy.h:12
Energy::Erg
double Erg() const
Definition
energy.h:34
Energy::set
void set(double energy)
Definition
energy.h:19
Energy::eV
double eV() const
Definition
energy.h:42
Energy::m_energy
double m_energy
Definition
energy.h:9
lgConserveEnergy
bool lgConserveEnergy(void)
Definition
energy.cpp:314
StandardEnergyUnit
const char * StandardEnergyUnit(const char *)
Definition
energy.cpp:47
FR1RYD
UNUSED const double FR1RYD
Definition
physconst.h:195
RYD_INF
UNUSED const double RYD_INF
Definition
physconst.h:115
EN1RYD
UNUSED const double EN1RYD
Definition
physconst.h:179
EVRYD
UNUSED const double EVRYD
Definition
physconst.h:189
TE1RYD
UNUSED const double TE1RYD
Definition
physconst.h:183
RYDLAM
UNUSED const double RYDLAM
Definition
physconst.h:176
Generated by
1.14.0