27 #ifndef __GyotoPatternDisk_H_
28 #define __GyotoPatternDisk_H_
35 namespace Astrobj {
class PatternDisk; }
54 std::string filename_;
131 virtual void fitsRead(std::string filename_);
132 virtual void
fitsWrite(std::string filename_);
135 void setEmission(double * pattern);
136 void setVelocity(double * pattern);
137 void setRadius(double * pattern);
142 virtual void
copyIntensity(double const * const pattern = NULL,
143 size_t const naxes[3] = NULL);
145 virtual double const * const getIntensity() const;
146 virtual void getIntensityNaxes( size_t naxes[3] ) const ;
148 virtual void copyOpacity(double const * const pattern = NULL,
149 size_t const naxes[3] = NULL);
150 virtual double const * const getOpacity() const;
152 virtual void copyVelocity(double const * const pattern = NULL,
153 size_t const naxes[2] = NULL);
154 virtual double const * const getVelocity() const;
156 virtual void copyGridRadius(double const * const pattern = NULL,
158 virtual double const * const getGridRadius() const;
160 virtual void repeatPhi(size_t n);
161 virtual size_t repeatPhi() const;
163 virtual void nu0(double freq);
164 virtual double nu0() const;
166 virtual void dnu(double dfreq);
167 virtual double dnu() const;
169 void phimin(double phimin);
170 double phimin() const;
172 void phimax(double phimax);
173 double phimax() const;
175 virtual int
setParameter(std::string name, std::string content);
178 void
getIndices(size_t i[3], double const co[4], double nu=0.) const ;
182 virtual double
emission(double nu_em, double dsem,
183 double c_ph[8], double c_obj[8]) const;
184 virtual double
transmission(double nu_em, double dsem, double coord[8]) const;
186 virtual void getVelocity(double const pos[4], double vel[4]) ;
189 #ifdef GYOTO_USE_XERCES
190 virtual void
fillElement(FactoryMessenger *fmp) const ;