Gyoto
include
GyotoPatternDiskBB.h
Go to the documentation of this file.
1
9
/*
10
Copyright 2012-2016, 2018 Frederic Vincent, Thibaut Paumard
11
12
This file is part of Gyoto.
13
14
Gyoto is free software: you can redistribute it and/or modify
15
it under the terms of the GNU General Public License as published by
16
the Free Software Foundation, either version 3 of the License, or
17
(at your option) any later version.
18
19
Gyoto is distributed in the hope that it will be useful,
20
but WITHOUT ANY WARRANTY; without even the implied warranty of
21
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
GNU General Public License for more details.
23
24
You should have received a copy of the GNU General Public License
25
along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
26
*/
27
28
#ifndef __GyotoPatternDiskBB_H_
29
#define __GyotoPatternDiskBB_H_
30
31
#include <iostream>
32
#include <fstream>
33
#include <iomanip>
34
35
namespace
Gyoto
{
36
namespace
Astrobj {
class
PatternDiskBB; }
37
}
38
39
//#include <GyotoMetric.h>
40
#include <
GyotoPatternDisk.h
>
41
#include <
GyotoBlackBodySpectrum.h
>
42
54
class
Gyoto::Astrobj::PatternDiskBB
:
public
Astrobj::PatternDisk
{
55
friend
class
Gyoto::SmartPointer
<
Gyoto
::
Astrobj::PatternDiskBB
>;
56
protected
:
57
SmartPointer
<Spectrum::BlackBody>
spectrumBB_
;
58
private
:
66
int
SpectralEmission_
;
67
68
// Constructors - Destructor
69
// -------------------------
70
public
:
71
GYOTO_OBJECT
;
72
GYOTO_OBJECT_THREAD_SAFETY
;
73
74
PatternDiskBB
();
75
76
PatternDiskBB
(const PatternDiskBB& ) ;
77
virtual
PatternDiskBB
*
clone
() const;
78
79
virtual
~
PatternDiskBB
() ;
80
81
// Accessors
82
// ---------
83
public
:
84
bool spectralEmission() const;
85
void spectralEmission(bool t);
86
87
public
:
88
using
PatternDisk::emission
;
89
double
emission
(double nu_em, double dsem,
90
state_t const &c_ph, double const c_obj[8]=NULL) const;
91
92
};
93
94
#endif
GYOTO_OBJECT
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition:
GyotoObject.h:84
GYOTO_OBJECT_THREAD_SAFETY
#define GYOTO_OBJECT_THREAD_SAFETY
Declare virtual bool isThreadSafe() const.
Definition:
GyotoObject.h:99
Gyoto::Astrobj::PatternDiskBB::spectrumBB_
SmartPointer< Spectrum::BlackBody > spectrumBB_
emission law
Definition:
GyotoPatternDiskBB.h:57
Gyoto::Astrobj::PatternDiskBB
Geometrically thin disk read from FITS file with black body spectrum.
Definition:
GyotoPatternDiskBB.h:54
Gyoto::Astrobj::PatternDiskBB::emission
double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
Gyoto::Astrobj::PatternDiskBB::clone
virtual PatternDiskBB * clone() const
Cloner.
Gyoto
Namespace for the Gyoto library.
Definition:
GyotoAstrobj.h:43
Gyoto::Astrobj::PatternDiskBB::SpectralEmission_
int SpectralEmission_
1 if spectral emission.
Definition:
GyotoPatternDiskBB.h:66
Gyoto::SmartPointer
Pointers performing reference counting.
Definition:
GyotoProperty.h:45
Gyoto::Astrobj::PatternDisk::emission
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
Gyoto::Astrobj::PatternDisk
Geometrically thin disk read from FITS file.
Definition:
GyotoPatternDisk.h:51
GyotoBlackBodySpectrum.h
I_nu(nu, T) = cst_*2*h*nu^3/c^2/(exp(h*nu/k*T)-1.);.
GyotoPatternDisk.h
A geometrically thin, optically thick disk.
Generated by
1.8.16