Gyoto
GyotoPageThorneDisk.h
1 
8 /*
9  Copyright 2011 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 __GyotoPageThorneDisk_H_
28 #define __GyotoPageThorneDisk_H_
29 
30 #include <iostream>
31 #include <fstream>
32 #include <iomanip>
33 
34 namespace Gyoto{
35  namespace Astrobj { class PageThorneDisk; }
36 }
37 
38 //#include <GyotoMetric.h>
39 #include <GyotoThinDisk.h>
40 
58  friend class Gyoto::SmartPointer<Gyoto::Astrobj::PageThorneDisk>;
59  private:
60  double aa_;
61  double aa2_;
62  double x0_;
63  double x1_;
64  double x2_;
65  double x3_;
66 
67  // Constructors - Destructor
68  // -------------------------
69  public:
70 
71  PageThorneDisk();
72 
73  PageThorneDisk(const PageThorneDisk& ) ;
74  virtual PageThorneDisk* clone () const;
75 
76  virtual ~PageThorneDisk() ;
77 
78  // Accessors
79  // ---------
80  public:
81  virtual void setMetric(SmartPointer<Metric::Generic>);
83 
84  virtual void updateSpin() ;
86 
87  public:
88  virtual double emission(double nu_em, double dsem,
89  double c_ph[8], double c_obj[8]) const;
90  public:
91 #ifdef GYOTO_USE_XERCES
92  virtual void fillElement(FactoryMessenger *fmp) const ;
93 #endif
94 
95 };
96 
97 #endif