|
virtual double | columnDensity (double q) const =0 |
|
virtual double | density (double u) const =0 |
|
virtual double | generateRadius () 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 |
|
SmoothingKernel is an abstract class that represents smoothing kernels that can be used to smear out points to smoothed particles. Each smoothing kernel is completely defined by the kernel density \(W(u)\) which is just a function of the normalized radius \(u=r/h\) with \(h\) the smoothing length. All smoothing kernels are spherically symmetric, have finite support, and are normalized to one, i.e.
\[ W(u)=0 \quad \text{for}\; u>1 \qquad \text{and}
\qquad 4\pi \int_0^1 W(u)\, u^2\, {\text{d}}u = 1. \]
virtual double SmoothingKernel::columnDensity |
( |
double |
q | ) |
const |
|
pure virtual |
This function returns the projection of the smoothing kernel along a line with given impact radius (smallest distance) to the kernel's center. In formula form, this is the column density \(\Sigma(q) = 2 \int_{q}^1 \frac{W(u)\,u \,{\text{d}}u} {\sqrt{u^2-q^2}}\) of the smoothing kernel as a function of the normalized impact radius \(q=r_\text{i}/h\), or zero for \(q\ge 1\). Subclasses must implement this function appropriately.
Implemented in CubicSplineSmoothingKernel, ScaledGaussianSmoothingKernel, and UniformSmoothingKernel.
virtual double SmoothingKernel::generateRadius |
( |
| ) |
const |
|
pure virtual |