Public Member Functions |
|
| Scenery () |
| | Set everything to defaults.
|
|
| Scenery (const Scenery &o) |
| | Copy constructor.
|
|
Scenery * | clone () const |
| | Cloner.
|
| | Scenery (SmartPointer< Metric::Generic >, SmartPointer< Screen >, SmartPointer< Astrobj::Generic >) |
|
SmartPointer< Metric::Generic > | getMetric () |
| | Get Metric.
|
| void | setMetric (SmartPointer< Metric::Generic >) |
| | Set Metric.
|
|
SmartPointer< Screen > | getScreen () |
| | Get Screen object.
|
| void | setScreen (SmartPointer< Screen >) |
| | Set screen object.
|
|
SmartPointer< Astrobj::Generic > | getAstrobj () |
| void | setAstrobj (SmartPointer< Astrobj::Generic >) |
|
double | getDelta () const |
|
void | setDelta (double) |
|
void | setRequestedQuantities (Quantity_t) |
|
void | setRequestedQuantities (std::string) |
|
Quantity_t | getRequestedQuantities () const |
|
std::string | getRequestedQuantitiesString () const |
|
size_t | getScalarQuantitiesCount () const |
|
void | setTlim (double) |
| | set tlim_;
|
|
double | getTlim () const |
| | get tlim_
|
|
void | rayTrace (size_t imin, size_t imax, size_t jmin, size_t jmax, Astrobj::Properties *data, double *impactcoords=NULL) |
|
void | operator() (size_t i, size_t j, Astrobj::Properties *data, double *impactcoords=NULL) |
|
void | fillElement (FactoryMessenger *fmp) |
| | called from Factory
|
Ray-tracing scene.
An Scenery contains:
In addition, Quantities may be specified (or the default Quantity will be produced: generally Intensity). Not all Astrobj implement all Quantities. The order in which Quantities are listed is not relevant (it is not stored). A value of the integration step for the Photon's trajectory can be specified in Delta. It will be used as the initial step, which is adaptive. Possible Quantities:
- Intensity: the intensity that reaches the object, integrated over the line-of-sight;
- EmissionTime: date of emission;
- MinDistance: minimum distance between the Photon reaching each pixel and the Astrobj;
- FirstDistMin: last closest approach between Photon and Astrobj;
- Redshift;
- ImpactCoords: 8-coordinates of the object and photon at impact;
- Spectrum: I_{nu} computed at various values frequencies, corresponding to the Screen's Spectrometer.
Thus a fully populated Scenery XML looks like that:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Metric kind = "MetricKind">
<MetricProperties/>
</Metric>
<Screen>
<ScreenProperties/>
</Screen>
<Astrobj kind = "AstrobjKind">
<AstrobjParameters/>
</Astrobj>
<Quantities> Spectrum Intensity ...</Quantities>
<Delta> 1. </Delta>