#include <NestedLogWavelengthGrid.hpp>
Public Member Functions | |
double | maxWavelengthBaseGrid () const |
double | maxWavelengthSubGrid () const |
double | minWavelengthBaseGrid () const |
double | minWavelengthSubGrid () const |
int | numWavelengthsBaseGrid () const |
int | numWavelengthsSubGrid () 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 | |
NestedLogWavelengthGrid () | |
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 = NestedLogWavelengthGrid |
Private Attributes | |
double | _maxWavelengthBaseGrid |
double | _maxWavelengthSubGrid |
double | _minWavelengthBaseGrid |
double | _minWavelengthSubGrid |
int | _numWavelengthsBaseGrid |
int | _numWavelengthsSubGrid |
Friends | |
class | ItemRegistry |
NestedLogWavelengthGrid is a subclass of the DisjointWavelengthGrid class representing hybrid grids consisting of a logarithmically distributed wavelength grid in which another, more compact logarithmic grid is embedded. It can be very useful to get higher-resolution spectra in a particular wavelength grid while still covering a broad wavelength range.
The characteristic wavelengths of the bins in each of the two grids (low-resolution grid and high-resolution subgrid) are equally distributed (in log space) between and including the specified minimum and maximum wavelength. The outermost bins are given the same width as the inner bins (in log space), which implies that the outermost bin borders are placed beyond the specified minimum and maximum wavelength. The grids must have at least two bins, which then have the specified minimum and maximum wavelength as their respective characteristic wavelength.
|
inlineprotected |
Default constructor for concrete Item subclass NestedLogWavelengthGrid : "a nested logarithmic wavelength grid" .
|
inline |
This function returns the value of the discoverable double property maxWavelengthBaseGrid : "the longest wavelength of the low-resolution grid" .
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 maxWavelengthSubGrid : "the longest wavelength of the high-resolution subgrid" .
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 minWavelengthBaseGrid : "the shortest wavelength of the low-resolution grid" .
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 minWavelengthSubGrid : "the shortest wavelength of the high-resolution subgrid" .
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 integer property numWavelengthsBaseGrid : "the number of wavelength grid points in the low-resolution grid" .
The minimum value for this property is "2" .
The default value for this property is given by the conditional value expression "25" .
|
inline |
This function returns the value of the discoverable integer property numWavelengthsSubGrid : "the number of wavelength grid points in the high-resolution subgrid" .
The minimum value for this property is "2" .
The default value for this property is given by the conditional value expression "25" .
|
overrideprotectedvirtual |
This function constructs the list of characteristic wavelengths. First,
Reimplemented from SimulationItem.