#include <LaunchedPacketsProbe.hpp>
Public Member Functions | |
void | probePhotonPacket (const PhotonPacket *pp) override |
![]() | |
WavelengthGrid * | materialWavelengthGrid () const override |
WavelengthGrid * | wavelengthGrid () const |
Range | wavelengthRange () const override |
![]() | |
string | itemName () const override |
int | iter () const |
string | probeName () const |
void | probePrimary (int iter) |
void | probeRun () |
void | probeSecondary (int iter) |
void | probeSetup () |
![]() | |
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 |
virtual WavelengthGrid * | materialWavelengthGrid () const |
![]() | |
virtual | ~WavelengthRangeInterface () |
virtual Range | wavelengthRange () const =0 |
![]() | |
virtual | ~ProbePhotonPacketInterface () |
virtual void | probePhotonPacket (const PhotonPacket *pp)=0 |
Protected Member Functions | |
LaunchedPacketsProbe () | |
void | initialize () override |
void | probe () override |
When | when () const override |
![]() | |
SpecialtyWavelengthGridProbe () | |
![]() | |
SpecialtyProbe () | |
![]() | |
Probe () | |
virtual void | initialize () |
virtual void | probe ()=0 |
virtual When | when () const |
![]() | |
SimulationItem () | |
virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
virtual void | setupSelfAfter () |
virtual void | setupSelfBefore () |
![]() | |
Item () | |
![]() | |
MaterialWavelengthRangeInterface () | |
![]() | |
WavelengthRangeInterface () | |
![]() | |
ProbePhotonPacketInterface () | |
Private Types | |
using | BaseType = SpecialtyWavelengthGridProbe |
using | ItemType = LaunchedPacketsProbe |
Private Attributes | |
Table< 2 > | _primaryCounts |
WavelengthGrid * | _probeWavelengthGrid |
Table< 2 > | _secondaryCounts |
Friends | |
class | ItemRegistry |
Additional Inherited Members | |
![]() | |
enum class | When { Setup , Run , Primary , Secondary } |
LaunchedPacketsProbe outputs a text column file with the number of photon packets launched from primary and, if applicable, secondary sources on a specified wavelength grid (or on the default instrument wavelength grid). If the simulation iterates over primary and/or secondary emission, the photon packets launched during all iterations are accumulated in the counts. The probe uses the wavelength at the time when the photon packet was originally emitted, in the rest-frame of the original source.
The output file is named prefix_launchedpackets.txt
. The first column lists the characteristic wavelength of the wavelength bin. Subsequent columns list a number of photon packets launched from primary and, if applicable, secondary sources in that wavelength bin, in the following order:
The current implementation uses doubles to count the photon packets in each source/wavelength bin. Consequently, the results will be incorrect when the number of photon packets in a single bin exceeds 9e15.
This item type is displayed only if the Boolean expression "Level2&Source" evaluates to true after replacing the names by true or false depending on their presence.
|
inlineprotected |
Default constructor for concrete Item subclass LaunchedPacketsProbe : "source: number of photon packets launched from primary and secondary sources" .
|
overrideprotectedvirtual |
This function installs the call-back function for this probe with the primary and secondary source systems and initializes the photon packet counters. We do this here as opposed to in setupSelfAfter(), because we need the secondary source system (if any) to be constructed and fully setup.
Reimplemented from Probe.
|
overrideprotectedvirtual |
This function outputs the photon packet counts after the simulation run.
Implements Probe.
|
overridevirtual |
This call-back function increments the photon packet counter for the source that launched the given photon packet.
Implements ProbePhotonPacketInterface.
|
overrideprotectedvirtual |
This function returns the enumeration Run
indicating that probing for this probe should be performed at the end of the simulation.
Reimplemented from Probe.