Gyoto
GyotoThinDiskIronLine.h
Go to the documentation of this file.
1/*
2 Copyright 2013-2015, 2018 Frederic Vincent, Thibaut Paumard
3
4 This file is part of Gyoto.
5
6 Gyoto is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 Gyoto is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with Gyoto. If not, see <http://www.gnu.org/licenses/>.
18 */
19
22#ifndef __GyotoThinDiskIronLine_h
23#define __GyotoThinDiskIronLine_h
24
25#include <GyotoThinDisk.h>
26
27namespace Gyoto {
28 namespace Astrobj {
29 class ThinDiskIronLine;
30 }
31}
32
36 private:
37 double plindex_;
38 double linefreq_;
39 double cutradius_;
40 public:
43 ThinDiskIronLine(const ThinDiskIronLine &o);
44 virtual ~ThinDiskIronLine();
45 virtual ThinDiskIronLine * clone() const ;
46
48 virtual double emission(double nu_em, double dsem,
49 state_t const &c_ph, double const c_obj[8]=NULL) const;
50 void getVelocity(double const pos[4], double vel[4]);
51
52
53 // standard pairs of accessors
54 GYOTO_OBJECT_ACCESSORS(double, PowerLawIndex);
55 GYOTO_OBJECT_ACCESSORS(double, LineFreq);
56 void LineFreq(double v, std::string const &u);
57 double LineFreq(std::string const &u)const;
58 GYOTO_OBJECT_ACCESSORS(double, CutRadius);
59 void CutRadius(double v, std::string const &u);
60 double CutRadius(std::string const &u)const;
61
62};
63#endif
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
#define GYOTO_OBJECT_ACCESSORS(type, method)
Declare a pair of accessors to scalar member in a class declaration.
Definition: GyotoObject.h:60
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
Definition: GyotoThinDiskIronLine.h:34
double linefreq_
intrinsic line frequency (Hz)
Definition: GyotoThinDiskIronLine.h:38
double plindex_
power law index for line emission
Definition: GyotoThinDiskIronLine.h:37
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
virtual ThinDiskIronLine * clone() const
Cloner.
double cutradius_
r<cutradius_ -> emission = 0
Definition: GyotoThinDiskIronLine.h:39
void getVelocity(double const pos[4], double vel[4])
Get fluid 4-velocity at point.
Pointers performing reference counting.
Definition: GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43