#include <PolarizedGraphiteGrainComposition.hpp>
Public Member Functions | |
double | bulkDensity () const override |
string | name () const override |
string | resourceNameForEnthalpies () const override |
string | resourceNameForMuellerMatrix () const override |
string | resourceNameForOpticalProps () const override |
![]() | |
virtual double | bulkDensity () const =0 |
virtual string | name () const =0 |
virtual string | resourceNameForEnthalpies () const =0 |
virtual string | resourceNameForMuellerMatrix () const |
virtual string | resourceNameForOpticalProps () const =0 |
virtual bool | resourcesForSpheroidalEmission (bool &resource, double &interpol, string &tableName1, string &tableName2) const |
![]() | |
template<class T > | |
T * | find (bool setup=true) const |
template<class T > | |
T * | interface (int levels=-999999, bool setup=true) const |
virtual string | itemName () const |
void | setup () |
string | typeAndName () const |
![]() | |
Item (const Item &)=delete | |
virtual | ~Item () |
void | addChild (Item *child) |
const vector< Item * > & | children () const |
virtual void | clearItemListProperty (const PropertyDef *property) |
void | destroyChild (Item *child) |
virtual bool | getBoolProperty (const PropertyDef *property) const |
virtual vector< double > | getDoubleListProperty (const PropertyDef *property) const |
virtual double | getDoubleProperty (const PropertyDef *property) const |
virtual string | getEnumProperty (const PropertyDef *property) const |
virtual int | getIntProperty (const PropertyDef *property) const |
virtual vector< Item * > | getItemListProperty (const PropertyDef *property) const |
virtual Item * | getItemProperty (const PropertyDef *property) const |
virtual string | getStringProperty (const PropertyDef *property) const |
int | getUtilityProperty (string name) const |
virtual void | insertIntoItemListProperty (const PropertyDef *property, int index, Item *item) |
Item & | operator= (const Item &)=delete |
Item * | parent () const |
virtual void | removeFromItemListProperty (const PropertyDef *property, int index) |
virtual void | setBoolProperty (const PropertyDef *property, bool value) |
virtual void | setDoubleListProperty (const PropertyDef *property, vector< double > value) |
virtual void | setDoubleProperty (const PropertyDef *property, double value) |
virtual void | setEnumProperty (const PropertyDef *property, string value) |
virtual void | setIntProperty (const PropertyDef *property, int value) |
virtual void | setItemProperty (const PropertyDef *property, Item *item) |
virtual void | setStringProperty (const PropertyDef *property, string value) |
void | setUtilityProperty (string name, int value) |
virtual string | type () const |
Protected Member Functions | |
PolarizedGraphiteGrainComposition () | |
![]() | |
GrainComposition () | |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
Private Types | |
using | BaseType = GrainComposition |
using | ItemType = PolarizedGraphiteGrainComposition |
Friends | |
class | ItemRegistry |
The PolarizedGraphiteGrainComposition class represents the optical and calorimetric properties of spherical graphite dust grains with support for polarization. The optical data, including scattering and absorption efficiency coefficients and Mueller matrix coefficients, are converted from a text file in the format as used by the STOKES code, a code for radiative transfer with polarization written by Rene Goosmann and Frédéric Marin. The data files were obtained from the STOKES team via Marko Stalevski mstalevski@aob.rs.
The calorimetric properties follow the analytical enthalpy prescription for graphite given by equation (11) of Draine & Li (2001), properly integrated to obtain internal energy rather than heat capacity. The bulk mass density is set to the standard value of 2240 kg/m3 for graphite grains.
|
inlineprotected |
Default constructor for concrete Item subclass PolarizedGraphiteGrainComposition : "a graphite dust grain composition with support for polarization" .
|
overridevirtual |
This function returns the bulk mass density of this grain material.
Implements GrainComposition.
|
overridevirtual |
This function returns a brief human-readable identifier for this grain composition.
Implements GrainComposition.
Reimplemented in SpheroidalGraphiteGrainComposition.
|
overridevirtual |
This function returns the name of the stored table resource tabulating the specific enthalpies per unit volume as a function of temperature.
Implements GrainComposition.
|
overridevirtual |
This function returns the name of the stored table resource tabulating the coefficients of the Mueller matrix as a function of wavelength, grain size, and scattering angle.
Reimplemented from GrainComposition.
|
overridevirtual |
This function returns the name of the stored table resource tabulating the basic optical properties (absorption and scattering efficiencies and asymmetry parameter) as a function of wavelength and grain size.
Implements GrainComposition.