29 #ifndef __GyotoPlasmoid_H_ 30 #define __GyotoPlasmoid_H_ 33 namespace Astrobj {
class Plasmoid; }
44 #ifdef GYOTO_USE_CFITSIO 48 #ifdef GYOTO_USE_XERCES 74 std::string varyRadius_;
78 std::string filename_;
79 double** emis_polar_array_;
80 double** abs_polar_array_;
81 double** rot_polar_array_;
90 SmartPointer<Spectrum::KappaDistributionSynchrotron> spectrumKappaSynch_;
115 void motionType(std::string const type);
117 void
metric(SmartPointer<Metric::Generic> gg);
118 void initPosition(std::vector<double> const &v);
119 std::vector<double> initPosition() const;
120 void initVelocity(std::vector<double> const &v);
121 std::vector<double> initVelocity() const;
122 void initCoord(std::vector<double> const &v);
123 std::vector<double> initCoord() const;
124 void radiusMax(double rr);
125 double radiusMax() const;
126 void Radius(std::string vary);
127 void beta(double beta);
130 virtual void
radiativeQ(double Inu[], double Taunu[],
131 double const nu_em[], size_t nbnu,
132 double dsem, state_t const &coord_ph,
133 double const coord_obj[8]=NULL) const;
135 virtual void
radiativeQ(double Inu[], double Qnu[], double Unu[],
136 double Vnu[], Eigen::Matrix4d Onu[],
137 double const nu_ems[], size_t nbnu, double dsem,
138 state_t const &coord_ph, double const coord_obj[8]) const;
140 void
getCartesian(double const * const dates, size_t const n_dates,
141 double * const x, double * const y,
142 double * const z, double * const xprime=NULL,
143 double * const yprime=NULL,
144 double * const zprime=NULL);
146 void
getVelocity(double const pos[4], double vel[4]);
148 int
Impact(Gyoto::Photon* ph, size_t index,
149 Astrobj::Properties *data=NULL);
151 void file(std::string const &f);
153 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.