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);
118 double const nu_em[], size_t nbnu,
119 double dsem, state_t const &coord_ph,
120 double const coord_obj[8]=NULL) const;
123 double * const x, double * const y,
124 double * const z, double * const xprime=NULL,
125 double * const yprime=NULL,
126 double * const zprime=NULL);
130 int
Impact(Gyoto::Photon* ph, size_t index,
131 Astrobj::Properties *data=NULL);
133 void file(std::string const &f);
135 std::vector<size_t> fitsRead(std::string filename);
Class to read/write jnu and anu in FITS File.
Powerlaw synchrotron spectrum.
Base class for metric description.
#define GYOTO_OBJECT
Declare class::properties and class::getProperties()
Definition GyotoObject.h:84
Plasmoid Shere of plasma emitting synchrotron, following a trajectory specified in getVelocity (non-g...
Definition GyotoPlasmoid.h:62
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.
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
virtual std::string className_l() const
"inflate_star"
virtual std::string className() const
"Plasmoid"
int Impact(Gyoto::Photon *ph, size_t index, Astrobj::Properties *data=NULL)
Does a photon at these coordinates impact the object?
void getVelocity(double const pos[4], double vel[4])
Yield velocity of the center of the sphere.
SmartPointer< Metric::Generic > metric() const
Get the Metric gg_.
Definition GyotoFitsRW.h:51
Pointers performing reference counting.
Definition GyotoSmartPointer.h:135
Namespace for the Gyoto library.
Definition GyotoAstrobj.h:44