#include <SineSquarePolarizationProfile.hpp>
Public Member Functions | |
int | dimension () const override |
double | maxPolarizationDegree () const |
double | polarizationAngle () const |
StokesVector | polarizationForDirection (Direction bfk) const override |
double | symmetryX () const |
double | symmetryY () const |
double | symmetryZ () const |
virtual int | dimension () const =0 |
![]() | |
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 |
![]() | |
virtual | ~PolarizationProfileInterface () |
virtual StokesVector | polarizationForDirection (Direction bfk) const =0 |
Protected Member Functions | |
SineSquarePolarizationProfile () | |
void | setupSelfBefore () override |
![]() | |
PolarizationProfile () | |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
![]() | |
PolarizationProfileInterface () | |
Private Types | |
using | BaseType = PolarizationProfile |
using | ItemType = SineSquarePolarizationProfile |
Private Attributes | |
double | _cos2gamma |
double | _maxPolarizationDegree |
double | _polarizationAngle |
double | _sin2gamma |
Direction | _sym |
double | _symmetryX |
double | _symmetryY |
double | _symmetryZ |
Friends | |
class | ItemRegistry |
The SineSquarePolarizationProfile class describes a simple axisymmetric polarization profile that can be used for testing. The user can configure the direction of the symmetry axis
where
When an item of this type is used, the names provided by the conditional value expression "Dimension2" are inserted into the name sets used for evaluating Boolean expressions.
|
inlineprotected |
Default constructor for concrete Item subclass SineSquarePolarizationProfile : "an axysimmetric sine-square polarization emission profile" .
|
overridevirtual |
This function returns the dimension of the polarization profile, which depends on its (lack of) symmetry. The sine-square emission profile is axisymmetric as long as the symmetry axis coincides with the positive or negative z-axis.
Implements PolarizationProfile.
|
inline |
This function returns the value of the discoverable double property maxPolarizationDegree : "the maximum linear polarization degree" .
The minimum value for this property is "[0" .
The maximum value for this property is "1]" .
The default value for this property is given by the conditional value expression "0.1" .
|
inline |
This function returns the value of the discoverable double property polarizationAngle : "the linear polarization angle" .
This property represents a physical quantity of type "posangle" .
The minimum value for this property is "[0 deg" .
The maximum value for this property is "180 deg]" .
The default value for this property is given by the conditional value expression "30 deg" .
|
overridevirtual |
This function returns the Stokes vector defining the polarization state of the radiation emitted into the given direction
Implements PolarizationProfileInterface.
|
overrideprotectedvirtual |
This function caches a normalized version of the direction of the symmetry axis and some other values for later use.
Reimplemented from SimulationItem.
|
inline |
This function returns the value of the discoverable double property symmetryX : "the direction of the positive symmetry axis, x component" .
This property represents a physical quantity of type "length" .
The default value for this property is given by the conditional value expression "0" .
When a value is entered for this property, the names provided by the conditional value expression "symmetryX:Dimension3" are inserted into the name sets used for evaluating Boolean expressions.
|
inline |
This function returns the value of the discoverable double property symmetryY : "the direction of the positive symmetry axis, y component" .
This property represents a physical quantity of type "length" .
The default value for this property is given by the conditional value expression "0" .
When a value is entered for this property, the names provided by the conditional value expression "symmetryY:Dimension3" are inserted into the name sets used for evaluating Boolean expressions.
|
inline |
This function returns the value of the discoverable double property symmetryZ : "the direction of the positive symmetry axis, z component" .
This property represents a physical quantity of type "length" .
The default value for this property is given by the conditional value expression "1" .