cloudy
trunk
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
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
Energy::Hz
double Hz() const
Definition:
energy.h:54
Energy::Angstrom
double Angstrom() const
Definition:
energy.h:70
EnergyEntry::p_ip
long p_ip
Definition:
energy.h:100
Energy::Energy
Energy()
Definition:
energy.h:12
Energy::GHz
double GHz() const
Definition:
energy.h:66
Energy::set
void set(double energy)
Definition:
energy.h:19
Energy::keV
double keV() const
Definition:
energy.h:46
EnergyEntry::EnergyEntry
EnergyEntry(double energy, const char *unit)
Definition:
energy.h:111
RYDLAM
const double RYDLAM
Definition:
physconst.h:176
EnergyEntry
Definition:
energy.h:98
EnergyEntry::EnergyEntry
EnergyEntry()
Definition:
energy.h:103
Energy::cm
double cm() const
Definition:
energy.h:86
Energy::WN
double WN() const
Definition:
energy.h:38
EVRYD
const double EVRYD
Definition:
physconst.h:189
FR1RYD
const double FR1RYD
Definition:
physconst.h:195
Energy::Erg
double Erg() const
Definition:
energy.h:34
RYD_INF
const double RYD_INF
Definition:
physconst.h:115
EnergyEntry::set
void set(double energy, const char *unit)
Definition:
energy.h:115
lgConserveEnergy
bool lgConserveEnergy()
Definition:
energy.cpp:314
Energy::Energy
Energy(double energy)
Definition:
energy.h:13
EnergyEntry::ip_fortran
long ip_fortran()
Definition:
energy.h:135
Energy::MeV
double MeV() const
Definition:
energy.h:50
EnergyEntry::set
void set(double energy)
Definition:
energy.h:120
Energy::Energy
Energy(double energy, const char *unit)
Definition:
energy.h:14
Energy::m_energy
double m_energy
Definition:
energy.h:9
EnergyEntry::p_set_ip
void p_set_ip()
Definition:
energy.cpp:293
Energy::nm
double nm() const
Definition:
energy.h:74
EN1RYD
const double EN1RYD
Definition:
physconst.h:179
Energy::K
double K() const
Definition:
energy.h:30
Energy::eV
double eV() const
Definition:
energy.h:42
EnergyEntry::EnergyEntry
EnergyEntry(double energy)
Definition:
energy.h:107
Energy::kHz
double kHz() const
Definition:
energy.h:58
StandardEnergyUnit
const char * StandardEnergyUnit(const char *chCard)
Definition:
energy.cpp:47
Energy::Ryd
double Ryd() const
Definition:
energy.h:26
Energy
Definition:
energy.h:7
Energy::mm
double mm() const
Definition:
energy.h:82
Energy::micron
double micron() const
Definition:
energy.h:78
EnergyEntry::ip_C
long ip_C()
Definition:
energy.h:126
Energy::MHz
double MHz() const
Definition:
energy.h:62
TE1RYD
const double TE1RYD
Definition:
physconst.h:183
Generated on Sat Oct 19 2013 10:43:10 for cloudy by
1.8.5