Gyoto
include
GyotoThermalBremsstrahlungSpectrum.h
Go to the documentation of this file.
1
7
/*
8
Copyright 2014 Frederic Vincent, Thibaut Paumard
9
10
This file is part of Gyoto.
11
12
Gyoto is free software: you can redistribute it and/or modify
13
it under the terms of the GNU General Public License as published by
14
the Free Software Foundation, either version 3 of the License, or
15
(at your option) any later version.
16
17
Gyoto is distributed in the hope that it will be useful,
18
but WITHOUT ANY WARRANTY; without even the implied warranty of
19
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
GNU General Public License for more details.
21
22
You should have received a copy of the GNU General Public License
23
along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
24
*/
25
26
#ifndef __GyotoThermalBremsstrahlungSpectrum_H_
27
#define __GyotoThermalBremsstrahlungSpectrum_H_
28
#include "
GyotoSpectrum.h
"
29
#include <
GyotoBlackBodySpectrum.h
>
30
31
namespace
Gyoto
{
32
namespace
Spectrum {
33
class
ThermalBremsstrahlung;
34
}
35
}
36
49
class
Gyoto::Spectrum::ThermalBremsstrahlung
:
public
Gyoto::Spectrum::Generic
{
50
friend
class
Gyoto::SmartPointer
<
Gyoto
::
Spectrum::ThermalBremsstrahlung
>;
51
protected
:
52
SmartPointer
<Spectrum::BlackBody>
spectrumBB_
;
53
double
T_
;
54
double
Tm1_
;
55
double
Tm05_
;
56
double
numberdensityCGS_
;
57
58
public
:
59
GYOTO_OBJECT
;
60
61
ThermalBremsstrahlung
();
62
ThermalBremsstrahlung
(const ThermalBremsstrahlung &);
63
virtual
ThermalBremsstrahlung
*
clone
() const;
64
65
using Gyoto::Spectrum::Generic::operator();
72
virtual
double operator()(double nu) const;
81
#ifndef GYOTO_SWIGIMPORTED
82
virtual
double operator()(double nu,double ,double ds) const;
83
#endif
84
// NB: the second argument, opacity in the Spectrum API
85
// is useless here
86
87
double temperature() const;
88
void temperature(double tt);
89
double numberdensityCGS() const;
90
void numberdensityCGS(double rho);
91
98
double
jnuCGS
(double nu) const;
104
double
alphanuCGS
(double nu) const;
105
110
void
radiativeQ
(double jnu[],
// output
111
double alphanu[],
// output
112
double const nu_ems[],
113
size_t nbnu
114
);
115
116
};
117
118
#endif
GYOTO_OBJECT
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition:
GyotoObject.h:84
Gyoto::Spectrum::Generic
Spectrum emitted by an Astrobj.
Definition:
GyotoSpectrum.h:134
Gyoto::Spectrum::ThermalBremsstrahlung::spectrumBB_
SmartPointer< Spectrum::BlackBody > spectrumBB_
blackbody emission
Definition:
GyotoThermalBremsstrahlungSpectrum.h:52
Gyoto::Spectrum::ThermalBremsstrahlung::numberdensityCGS_
double numberdensityCGS_
Number density in CGS UNITS (careful)
Definition:
GyotoThermalBremsstrahlungSpectrum.h:56
Gyoto::Spectrum::ThermalBremsstrahlung
Thermal brems spectrum.
Definition:
GyotoThermalBremsstrahlungSpectrum.h:49
Gyoto::Spectrum::ThermalBremsstrahlung::jnuCGS
double jnuCGS(double nu) const
Gyoto
Namespace for the Gyoto library.
Definition:
GyotoAstrobj.h:43
Gyoto::Spectrum::ThermalBremsstrahlung::Tm1_
double Tm1_
1/T
Definition:
GyotoThermalBremsstrahlungSpectrum.h:54
Gyoto::Spectrum::ThermalBremsstrahlung::T_
double T_
Temperature.
Definition:
GyotoThermalBremsstrahlungSpectrum.h:53
Gyoto::Spectrum::ThermalBremsstrahlung::radiativeQ
void radiativeQ(double jnu[], double alphanu[], double const nu_ems[], size_t nbnu)
Gyoto::SmartPointer
Pointers performing reference counting.
Definition:
GyotoProperty.h:45
Gyoto::Spectrum::ThermalBremsstrahlung::clone
virtual ThermalBremsstrahlung * clone() const
Cloner.
Gyoto::Spectrum::ThermalBremsstrahlung::Tm05_
double Tm05_
1/sqrt(T)
Definition:
GyotoThermalBremsstrahlungSpectrum.h:55
Gyoto::Spectrum::ThermalBremsstrahlung::alphanuCGS
double alphanuCGS(double nu) const
GyotoSpectrum.h
Spectrum of a simple object (e.g. Star)
GyotoBlackBodySpectrum.h
I_nu(nu, T) = cst_*2*h*nu^3/c^2/(exp(h*nu/k*T)-1.);.
Generated by
1.8.16