Celeritas 0.7+28f01d9
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::PrimaryGenerator Class Reference

Sample optical photons from user-configurable distributions. More...

#include <PrimaryGenerator.hh>

Public Member Functions

 PrimaryGenerator (NativeCRef< DistributionParamsData > const &params, PrimaryDistributionData const &data)
 Construct from optical materials and distribution parameters.
 
template<class Generator >
optical::TrackInitializer operator() (Generator &rng)
 Sample an optical photon from the energy, angular and spatial distributions.
 

Detailed Description

Sample optical photons from user-configurable distributions.

This samples a user-specified number of photons from user-configurable distributions specified in celeritas::inp::OpticalPrimaryGenerator .

The DistributionVisitor is responsible for managing the std::variant-like behavior of this class by mapping distribution IDs to type-deleted data.

Member Function Documentation

◆ operator()()

template<class Generator >
optical::TrackInitializer celeritas::optical::PrimaryGenerator::operator() ( Generator rng)
inline

Sample an optical photon from the energy, angular and spatial distributions.

Todo:
There are a couple places in the code where we resample the polarization if orthogonality fails: possibly add a helper function to reduce duplication

The documentation for this class was generated from the following file: