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_;
76 std::string filename_;
104 void motionType(std::string const type);
106 void
metric(SmartPointer<Metric::Generic> gg);
107 void initPosition(std::vector<double> const &v);
108 std::vector<double> initPosition() const;
109 void initVelocity(std::vector<double> const &v);
110 std::vector<double> initVelocity() const;
111 void initCoord(std::vector<double> const &v);
112 std::vector<double> initCoord() const;
113 void radiusMax(double rr);
114 double radiusMax() const;
115 void Radius(std::string vary);
117 virtual void
radiativeQ(double Inu[], double Taunu[],
118 double const nu_em[], size_t nbnu,
119 double dsem, state_t const &coord_ph,
120 double const coord_obj[8]=NULL) const;
122 virtual void
radiativeQ(double Inu[], double Qnu[], double Unu[], double Vnu[],
123 double alphaInu[], double alphaQnu[], double alphaUnu[], double alphaVnu[],
124 double rQnu[], double rUnu[], double rVnu[],
125 double const nu_ems[], size_t nbnu, double dsem,
126 state_t const &coord_ph, double const coord_obj[8]) const;
128 void
getCartesian(double const * const dates, size_t const n_dates,
129 double * const x, double * const y,
130 double * const z, double * const xprime=NULL,
131 double * const yprime=NULL,
132 double * const zprime=NULL);
134 void
getVelocity(double const pos[4], double vel[4]);
136 int
Impact(Gyoto::Photon* ph, size_t index,
137 Astrobj::Properties *data=NULL);
139 void file(std::string const &f);
141 std::vector<size_t> fitsRead(std::string filename);
144 void Omatrix(double Onu[4][4], double alphanu[4], double rnu[3], double Xhi, double dsem) const;
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition: GyotoObject.h:84
Definition: GyotoFitsRW.h:50
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:43
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.