#ifndef SPHERESTRUCT_H #define SPHERESTRUCT_H #include #include #include #include #include "fieldslice.h" #include "dataTypes.h" struct sphere { //sphere position bsPoint p; //sphere radius ptype a; //sphere material index int iMaterial; //rtsPointer to the scattered field produced by a plane wave // this is a function of cos(theta) and |r| (distance from sphere center) //fieldslice surface; //resolution of the scattered field int thetaR, rR; //sphere order int Nl; //refractive index for the current lambda bsComplex n; //external scattering coefficients std::vector B; //internal scattering coefficients std::vector A; sphere(ptype x = 0.0f, ptype y = 0.0f, ptype z = 0.0f, ptype a = 0.0f, int m = 0, int ang = 128) { this->p = bsPoint(x, y, z); this->a = a; this->iMaterial = m; //surface = fieldslice(ang, ang/2); } std::string toStr() { std::stringstream ss; ss< n); }; #endif