|
| double | clipRadius () const |
| int | dimension () const override |
| bool | inside (Position bfr) const override |
| double | SigmaZ () const override |
| double | density (Position bfr) const override |
| Position | generatePosition () const override |
| Geometry * | geometry () const |
| Remove | remove () const |
| double | SigmaX () const override |
| double | SigmaY () const override |
| template<class T> |
| T * | find (bool setup=true) const |
| template<class T> |
| T * | interface (int upLevels, int downLevels, bool setup) 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 |
The CylindricalClipGeometryDecorator class is a decorator that adjusts another geometry by setting the density equal to zero inside or outside an infinitely long cylinder centered at the origin and oriented along the Z-axis. The radius of the cylinder can be chosen.
When an item of this type is used, the names provided by the conditional value expression "InMedia:MediaDimension2,Dimension2;SourceDimension2,Dimension2" are inserted into the name sets used for evaluating Boolean expressions.
| double CylindricalClipGeometryDecorator::SigmaZ |
( |
| ) |
const |
|
overridevirtual |
This function returns the Z-axis surface density, i.e. the integration of the density along the entire Z-axis,
\[ \Sigma_Z = \int_{-\infty}^\infty \rho(0,0,z)\,{\text{d}}z. \]
Because the clip region is defined purely in terms of cylindrical radius, the Z-axis itself (at R=0) is always either entirely inside or entirely outside the clipped region: if the inside region is being removed, the entire Z-axis lies in the removed region, and this function returns exactly zero, unlike the generic ClipGeometryDecorator::SigmaZ() implementation (which would otherwise return the undecorated geometry's nonzero value even though the true result is known to be zero in this case). Otherwise, the entire Z-axis is retained, and this function returns the corresponding value of the geometry being decorated, without renormalization, exactly like the inherited ClipGeometryDecorator implementation, for the same reason explained in the ClipGeometryDecorator class documentation: mixing a renormalized Z value with non-renormalized X and Y values would be inconsistent and unpredictable for client code, including code that normalizes the mass of medium components based on these values. This class does not override SigmaX() or SigmaY(): the inherited ClipGeometryDecorator implementation already returns the undecorated geometry's own values.
Reimplemented from ClipGeometryDecorator.