30 #ifndef __GyotoXillverReflection_H_ 31 #define __GyotoXillverReflection_H_ 37 namespace Astrobj {
class XillverReflection; }
70 double * illumination_;
88 void
fillProperty(Gyoto::FactoryMessenger *fmp, Property const &p) const;
96 void timelampphizero(double tt);
97 double timelampphizero() const;
98 void lampradius(double rr);
99 double lampradius() const;
100 void fileillumination(std::string const &f);
101 std::string fileillumination() const ;
102 void filereflection(std::string const &f);
103 std::string filereflection() const ;
105 void averageOverAngle(bool t);
106 bool averageOverAngle()const;
108 #ifdef GYOTO_USE_CFITSIO 128 void setReflection(double * pattern);
146 size_t const naxes[2] = NULL);
147 virtual double const * getIllumination() const;
150 virtual void copyReflection(double const * const pattern = NULL,
151 size_t const naxes[3] = NULL);
152 virtual double const * getReflection() const;
155 virtual void copyGridReflLogxi(double const * const pattern = NULL,
158 virtual void copyGridReflIncl(double const * const pattern = NULL,
161 virtual void copyGridReflFreq(double const * const pattern = NULL,
164 virtual void copyGridIllumRadius(double const * const pattern = NULL,
167 virtual void copyGridIllumPhi(double const * const pattern = NULL,
173 void
getIndicesRefl(size_t i[3], double const co[4], double logxi, double incl,
174 double nu=0.) const ;
181 virtual double
emission(double nu_em, double dsem,
182 state_t const &_ph, double const _obj[8]=NULL) const;
184 virtual void updateSpin() ;
185 virtual void
tell(Gyoto::Hook::Teller *msg);
187 virtual void
metric(SmartPointer<Metric::Generic>);
virtual void fitsReadIllum(std::string filename)
Read parameters and arrays from FITS file.
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
virtual void getIlluminationNaxes(size_t naxes[2]) const
Get XillverReflection::nr_, XillverReflection::nphi_.
The illumination table specifies how the thin disk is illuminated while the reflection table deduces ...
Definition: GyotoXillverReflection.h:47
double timelampphizero_
Time at which lamp is at phi=0.
Definition: GyotoXillverReflection.h:79
std::string filenameRefl_
FITS file containing the reflection pattern.
Definition: GyotoXillverReflection.h:55
size_t ni_
Number of emission angles.
Definition: GyotoXillverReflection.h:67
virtual void fitsReadRefl(std::string filename)
Read parameters and arrays from FITS file.
virtual double emission(double nu_em, double dsem, state_t const &_ph, double const _obj[8]=NULL) const
Specific intensity Iν
virtual void copyIllumination(double const *const pattern=NULL, size_t const naxes[2]=NULL)
size_t nr_
numbar of radii
Definition: GyotoXillverReflection.h:74
virtual double const * getGridIllumPhi() const
Get XillverReflection::phi_.
virtual double const * getGridReflFreq() const
Get XillverReflection::freq_.
double * logxi_
log of ionization param
Definition: GyotoXillverReflection.h:63
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:387
virtual void getReflectionNaxes(size_t naxes[3]) const
Get XillverReflection::nnu_, XillverReflection::ni_, XillverReflection::nxi_.
size_t nxi_
Number of log(ionization param)
Definition: GyotoXillverReflection.h:68
size_t nnu_
Number of frequencies.
Definition: GyotoXillverReflection.h:66
double lampradius_
Coordinate radius at which the lamp is in Keplerian rotation.
Definition: GyotoXillverReflection.h:78
bool average_over_angle_
true to average over emission angle
Definition: GyotoXillverReflection.h:81
virtual void fitsWriteRefl(std::string filename)
Write parameters and arrays to FITS file.
double * incl_
emission angle
Definition: GyotoXillverReflection.h:64
Geometrically thin disks and rings.
Definition: GyotoThinDisk.h:68
virtual XillverReflection * clone() const
Cloner.
virtual void fitsWriteIllum(std::string filename)
Write parameters and arrays to FITS file.
virtual double const * getGridReflLogxi() const
Get XillverReflection::logxi_.
virtual double const * getGridIllumRadius() const
Get XillverReflection::radius_.
double * radius_
radii at which illumination is known
Definition: GyotoXillverReflection.h:72
Geometrically thin disks and rings.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
Pointers performing reference counting.
Definition: GyotoProperty.h:45
size_t nphi_
numbar of phi
Definition: GyotoXillverReflection.h:75
I might listen to a Teller.
Definition: GyotoHooks.h:64
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
void setIllumination(double *pattern)
virtual double const * getGridReflIncl() const
Get XillverReflection::incl_.
double * phi_
azimuthal angle at which illumination is known
Definition: GyotoXillverReflection.h:73
void fillProperty(Gyoto::FactoryMessenger *fmp, Property const &p) const
Output a single Property to XML.
std::string filenameIllum_
FITS file containing the illumination pattern.
Definition: GyotoXillverReflection.h:54
double aa_
Spin of Kerr BH.
Definition: GyotoXillverReflection.h:77
void getIndicesIllum(size_t i[3], double const co[4]) const
Get illumination_ cell corresponding to position co[4].
virtual void tell(Gyoto::Hook::Teller *msg)
This is how a Teller tells.
double * freq_
frequencies vector
Definition: GyotoXillverReflection.h:65
void getIndicesRefl(size_t i[3], double const co[4], double logxi, double incl, double nu=0.) const
Get reflection_ cell corresponding to position co[4].
double * reflection_
Definition: GyotoXillverReflection.h:61