|
virtual int | dimension () const =0 |
|
virtual Direction | generateDirection () 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 | ~AngularDistributionInterface () |
|
virtual double | probabilityForDirection (Direction bfk) const =0 |
|
An instance of an AngularDistribution subclass represents an angular probability distribution \(P(\Omega)\,{\mathrm{d}}\Omega\) that serves to describe the anisotropic emission of a point source. By convention, the probability distribution is normalized on the unit sphere as follows:
\[ \int P(\Omega) \,{\mathrm{d}}\Omega = \int_{\phi=0}^{2\pi} \int_{\theta=0}^{\pi}
P(\theta,\phi)\sin\theta \,{\mathrm{d}}\theta \,{\mathrm{d}}\phi = 4\pi.\]
Subclasses must provide a means to obtain the emission probability \(P(\Omega)\) for a given direction \((\theta,\phi)\), and to generate a random direction \((\theta,\phi)\) drawn from the probability distribution \(P(\Omega)\,{\mathrm{d}}\Omega\).
This class inherits the AngularDistributionInterface offering the probabilityForDirection() which much be implemented by a subclass.