Gyoto
GyotoThinDiskPL.h
Go to the documentation of this file.
1
8/*
9 Copyright 2012-2018 Frederic Vincent, Thibaut Paumard
10
11 This file is part of Gyoto.
12
13 Gyoto is free software: you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 Gyoto is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
25 */
26
27#ifndef __GyotoThinDiskPL_H_
28#define __GyotoThinDiskPL_H_
29
30#include <iostream>
31#include <fstream>
32#include <iomanip>
33
34namespace Gyoto{
35 namespace Astrobj { class ThinDiskPL; }
36}
37
38//#include <GyotoMetric.h>
39#include <GyotoThinDisk.h>
41
53 private:
54 double slope_;
55 double Tinner_;
56 protected:
57 SmartPointer<Spectrum::BlackBody> spectrumBB_;
58
59 // Constructors - Destructor
60 // -------------------------
61 public:
64
66
67 ThinDiskPL(const ThinDiskPL& ) ;
68 virtual ThinDiskPL* clone () const;
69
70 virtual ~ThinDiskPL() ;
71
72 // Accessors
73 // ---------
74 public:
75 void Slope(double);
76 double Slope()const;
77 void Tinner(double);
78 double Tinner()const;
79
80 public:
82 virtual double emission(double nu_em, double dsem,
83 state_t const &c_ph,double const c_obj[8]=NULL) const;
84};
85
86#endif
I_nu(nu, T) = cst_*2*h*nu^3/c^2/(exp(h*nu/k*T)-1.);.
#define GYOTO_OBJECT_THREAD_SAFETY
Declare virtual bool isThreadSafe() const.
Definition: GyotoObject.h:99
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
Geometrically thin disks and rings.
virtual double emission(double nu_em, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
Specific intensity Iν
Geometrically thin disks and rings.
Definition: GyotoThinDisk.h:71
Geometrically thin disk with black-body emission.
Definition: GyotoThinDiskPL.h:51
virtual ThinDiskPL * clone() const
Cloner.
SmartPointer< Spectrum::BlackBody > spectrumBB_
disk black body
Definition: GyotoThinDiskPL.h:57
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
double Tinner_
Reference temperature assumed at inner radius.
Definition: GyotoThinDiskPL.h:55
double slope_
Power law index.
Definition: GyotoThinDiskPL.h:54
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43