29 #ifndef __GyotoPlasmoid_H_ 30 #define __GyotoPlasmoid_H_ 33 namespace Astrobj {
class Plasmoid; }
44 #ifdef GYOTO_USE_CFITSIO 48 #ifdef GYOTO_USE_XERCES 73 std::string varyRadius_;
77 std::string filename_;
78 double** emis_polar_array_;
79 double** abs_polar_array_;
80 double** rot_polar_array_;
89 SmartPointer<Spectrum::KappaDistributionSynchrotron> spectrumKappaSynch_;
114 void motionType(std::string const type);
116 void
metric(SmartPointer<Metric::Generic> gg);
117 void initPosition(std::vector<double> const &v);
118 std::vector<double> initPosition() const;
119 void initVelocity(std::vector<double> const &v);
120 std::vector<double> initVelocity() const;
121 void initCoord(std::vector<double> const &v);
122 std::vector<double> initCoord() const;
123 void radiusMax(double rr);
124 double radiusMax() const;
125 void Radius(std::string vary);
126 void beta(double beta);
129 virtual void
radiativeQ(double Inu[], double Taunu[],
130 double const nu_em[], size_t nbnu,
131 double dsem, state_t const &coord_ph,
132 double const coord_obj[8]=NULL) const;
134 virtual void
radiativeQ(double Inu[], double Qnu[], double Unu[],
135 double Vnu[], Eigen::Matrix4d Onu[],
136 double const nu_ems[], size_t nbnu, double dsem,
137 state_t const &coord_ph, double const coord_obj[8]) const;
139 void
getCartesian(double const * const dates, size_t const n_dates,
140 double * const x, double * const y,
141 double * const z, double * const xprime=NULL,
142 double * const yprime=NULL,
143 double * const zprime=NULL);
145 void
getVelocity(double const pos[4], double vel[4]);
147 int
Impact(Gyoto::Photon* ph, size_t index,
148 Astrobj::Properties *data=NULL);
150 void file(std::string const &f);
152 void fitsRead(std::string filename);
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
Class for reading or writing data in FITS file. The data stored should be 1D array(s).
Definition: GyotoFitsRW.h:51
virtual std::string className() const
"Plasmoid"
SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
Class to read/write jnu and anu in FITS File.
int Impact(Gyoto::Photon *ph, size_t index, Astrobj::Properties *data=NULL)
Does a photon at these coordinates impact the object?
Base class for metric description.
Namespace for the Gyoto library.
Definition: GyotoAstrobj.h:46
virtual void radiativeQ(double Inu[], double Taunu[], double const nu_em[], size_t nbnu, double dsem, state_t const &coord_ph, double const coord_obj[8]=NULL) const
emission and transmission together
Pointers performing reference counting.
Definition: GyotoProperty.h:45
Plasmoid Shere of plasma emitting synchrotron, following a trajectory specified in getVelocity (non-g...
Definition: GyotoPlasmoid.h:60
virtual std::string className_l() const
"inflate_star"
void getVelocity(double const pos[4], double vel[4])
Yield velocity of the center of the sphere.
Powerlaw synchrotron spectrum.
void getCartesian(double const *const dates, size_t const n_dates, double *const x, double *const y, double *const z, double *const xprime=NULL, double *const yprime=NULL, double *const zprime=NULL)
Yield the Cartesian coordinates of the center of the sphere.