#include <ResolutionBorderWavelengthGrid.hpp>
Public Member Functions | |
double | maxWavelength () const |
double | minWavelength () const |
double | resolution () const |
![]() | |
int | bin (double lambda) const override |
vector< int > | bins (double lambda) const override |
const Array & | dlambdav () const |
double | effectiveWidth (int ell) const override |
Array | extdlambdav () const |
Array | extlambdav () const |
const Array & | lambdav () const |
double | leftBorder (int ell) const override |
int | numBins () const override |
double | rightBorder (int ell) const override |
double | transmission (int ell, double lambda) const override |
double | wavelength (int ell) const override |
![]() | |
virtual int | bin (double lambda) const =0 |
virtual vector< int > | bins (double lambda) const =0 |
virtual double | effectiveWidth (int ell) const =0 |
virtual double | leftBorder (int ell) const =0 |
virtual int | numBins () const =0 |
virtual double | rightBorder (int ell) const =0 |
virtual double | transmission (int ell, double lambda) const =0 |
virtual double | wavelength (int ell) const =0 |
Range | wavelengthRange () 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 | |
ResolutionBorderWavelengthGrid () | |
void | setupSelfBefore () override |
![]() | |
DisjointWavelengthGrid () | |
void | setupSelfAfter () override |
void | setWavelengthBins (const Array &lambdav, double relativeHalfWidth, bool constantWidth=false) |
void | setWavelengthBorders (const Array &borderv, bool logScale) |
void | setWavelengthRange (const Array &lambdav, bool logScale) |
void | setWavelengthSegments (const Array &bordcharv) |
void | setWavelengthSegments (const vector< double > &borderv, const vector< double > &characv) |
![]() | |
WavelengthGrid () | |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
Private Types | |
using | BaseType = DisjointWavelengthGrid |
using | ItemType = ResolutionBorderWavelengthGrid |
Private Attributes | |
double | _maxWavelength |
double | _minWavelength |
double | _resolution |
Friends | |
class | ItemRegistry |
ResolutionBorderWavelengthGrid is a subclass of the DisjointWavelengthGrid class representing logarithmically distributed wavelength grids with given spectral resolution (rather than number of bins) and given outer bin borders (rather than characteristic wavelengths).
The number of bins is determined from the configured spectral resolution
The bin widths are equally distributed in log space between the specified minimum and maximum wavelength. The characteristic wavelength for each bin is determined as the geometric average of the bin's left and right borders. The grid always has at least one bin, which then has the specified minimum and maximum wavelength as its left and right border.
|
inlineprotected |
Default constructor for concrete Item subclass ResolutionBorderWavelengthGrid : "a logarithmic wavelength grid with given spectral resolution and outer borders" .
|
inline |
This function returns the value of the discoverable double property maxWavelength : "the longest wavelength" .
This property represents a physical quantity of type "wavelength" .
The minimum value for this property is "1 pm" .
The maximum value for this property is "1 m" .
|
inline |
This function returns the value of the discoverable double property minWavelength : "the shortest wavelength" .
This property represents a physical quantity of type "wavelength" .
The minimum value for this property is "1 pm" .
The maximum value for this property is "1 m" .
|
inline |
This function returns the value of the discoverable double property resolution : "the spectral resolution R of the grid" .
The minimum value for this property is "[1e-6" .
The maximum value for this property is "1e6]" .
The default value for this property is given by the conditional value expression "10" .
|
overrideprotectedvirtual |
This function constructs the list of bin borders distributed logarithmically between
Reimplemented from SimulationItem.