38 #ifndef __GyotoDirectionalDisk_H_ 39 #define __GyotoDirectionalDisk_H_ 46 namespace Astrobj {
class DirectionalDisk; }
96 void
fillProperty(Gyoto::FactoryMessenger *fmp, Property const &p) const;
99 void
metric(SmartPointer<Metric::Generic> gg);
112 void file(std::string const &f);
113 std::string file() const ;
114 void averageOverAngle(bool t);
115 bool averageOverAngle()const;
116 void lampaltitude(double zz);
117 double lampaltitude() const ;
118 void lampcutoffsinev(std::vector<double> const &v) ;
119 std::vector<double> lampcutoffsinev() const ;
121 #ifdef GYOTO_USE_CFITSIO 122 virtual void fitsRead(std::string filename_);
126 virtual void fitsWrite(std::string filename_);
139 void radius(double * pattern);
153 virtual void
copyIntensity(double const * const pattern = NULL,
154 size_t const naxes[3] = NULL);
160 virtual void copyGridRadius(double const * const pattern = NULL,
163 virtual void copyGridCosi(double const * const pattern = NULL,
166 virtual void copyGridFreq(double const * const pattern = NULL,
171 void
getIndices(size_t i[3], double const co[4], double cosi, double nu=0.) const ;
176 virtual double
emission(double nu_em, double dsem,
177 state_t const &c_ph, double const c_obj[8]=NULL) const;
virtual double const * getGridFreq() const
Get DirectionalDisk::freq_.
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
double maxfreq_lampframe_
Maximum frequency emitted by the lamp.
Definition: GyotoDirectionalDisk.h:87
size_t nnu_
Number of frequencies provided in DirectionalDisk::emission_.
Definition: GyotoDirectionalDisk.h:79
virtual double const * getGridRadius() const
Get DirectionalDisk::radius_.
void fillProperty(Gyoto::FactoryMessenger *fmp, Property const &p) const
Output a single Property to XML.
virtual DirectionalDisk * clone() const
Cloner.
virtual void copyIntensity(double const *const pattern=NULL, size_t const naxes[3]=NULL)
double minfreq_lampframe_
Minimum frequency emitted by the lamp.
Definition: GyotoDirectionalDisk.h:86
std::string filename_
Optional FITS file name containing the arrays.
Definition: GyotoDirectionalDisk.h:65
virtual double const * getGridCosi() const
Get DirectionalDisk::cosi_.
double lampaltitude_
Lamp altitude (z coordinate) in M units.
Definition: GyotoDirectionalDisk.h:77
#define size_t
If not defined in <sys/types.h>.
Definition: GyotoConfig.h:387
size_t ni_
Number of direction cosine.
Definition: GyotoDirectionalDisk.h:80
void getIndices(size_t i[3], double const co[4], double cosi, double nu=0.) const
Get emission_ cell corresponding to position co[4].
virtual double emission(double nu_em, double dsem, state_t const &c_ph, double const c_obj[8]=NULL) const
Specific intensity Iν
virtual void getIntensityNaxes(size_t naxes[3]) const
Get DirectionalDisk::nnu_, DirectionalDisk::ni_, and DirectionalDisk::nr_.
double * cosi_
Direction cosine vector.
Definition: GyotoDirectionalDisk.h:74
Geometrically thin disk read from FITS file.
Definition: GyotoDirectionalDisk.h:62
Geometrically thin disks and rings.
Definition: GyotoThinDisk.h:68
Geometrically thin disks and rings.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:43
double * emission_
Iν(ν, r, cosi;)
Definition: GyotoDirectionalDisk.h:71
Pointers performing reference counting.
Definition: GyotoProperty.h:45
virtual SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
double maxfreq_computed_
Maximum frequency computed by ATM21.
Definition: GyotoDirectionalDisk.h:84
void setEmission(double *pattern)
Set DirectionalDisk::emission_.
double * freq_
Frequencies vector.
Definition: GyotoDirectionalDisk.h:75
size_t nr_
Number of radius values.
Definition: GyotoDirectionalDisk.h:81
double * radius_
Radius vector.
Definition: GyotoDirectionalDisk.h:73
virtual double const * getIntensity() const
Get DirectionalDisk::emission_.
double minfreq_computed_
Minimum frequency computed by ATM21.
Definition: GyotoDirectionalDisk.h:83
bool average_over_angle_
true to average over emission angle
Definition: GyotoDirectionalDisk.h:89
virtual double emission(double nu_em, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
Specific intensity Iν