RayZaler 0.1
The free opto-mechanical simulation framework
RZ::TopLevelModel Class Reference
Inheritance diagram for RZ::TopLevelModel:
Collaboration diagram for RZ::TopLevelModel:

Public Member Functions

 TopLevelModel (Recipe *recipe)
 
std::list< std::string > focalPlanes () const
 
std::list< std::string > ports () const
 
std::list< std::string > apertureStops () const
 
ApertureStopgetApertureStop (std::string const &) const
 
ReferenceFramegetFocalPlane (std::string const &) const
 
ReferenceFramegetPort (std::string const &) const
 
virtual void notifyDetector (std::string const &preferredName, Detector *det) override
 
- Public Member Functions inherited from RZ::GenericCompositeModel
 GenericCompositeModel (Recipe *, OMModel *, GenericCompositeModel *parentModel=nullptr, Element *parent=nullptr)
 
std::string givenName () const
 
std::list< std::string > params () const
 
std::list< std::string > dofs () const
 
GenericModelParamlookupParam (std::string const &)
 
GenericModelParamlookupDof (std::string const &)
 
GenericCompositeModelparentCompositeModel () const
 
bool loadScript (std::string const &path)
 
bool setParam (std::string const &, Real)
 
bool setDof (std::string const &, Real)
 
std::string resolveFilePath (std::string const &) const
 
void assignEverything ()
 
void updateRandState ()
 
void setRandomState (ExprRandomState *state)
 
ExprRandomStaterandState () const
 
void build (ReferenceFrame *, std::string const &prefix="")
 
void transferRecipeOwnership ()
 
virtual void notifyDetector (std::string const &preferredName, Detector *det)=0
 
- Public Member Functions inherited from RZ::OMModel
bool registerFrame (ReferenceFrame *)
 
void setFrameAlias (ReferenceFrame *, std::string const &name)
 
ElementautoRegisterElement (Element *)
 
ReferenceFrameworld () const
 
Simulationsimulation () const
 
void linkWorld (ReferenceFrame *)
 
template<class T >
T * plug (std::string const &existing, std::string const &port, std::string const &type, std::string const &name="")
 
template<class T >
T * plug (std::string const &existingFrame, std::string const &type, std::string const &name="")
 
void recalculate ()
 
RayBeamElementbeam () const
 
void clearBeam ()
 
void setBeamColoring (RayColoring const *coloring)
 
ReferenceFrameContext rotate (Real, Vec3 const &, ReferenceFrame *parent=nullptr)
 
ReferenceFrameContext rotate (Real, Real, Real, Real, ReferenceFrame *parent=nullptr)
 
ReferenceFrameContext translate (Vec3 const &, ReferenceFrame *parent=nullptr)
 
ReferenceFrameContext translate (Real, Real, Real, ReferenceFrame *parent=nullptr)
 
bool addOpticalPath (std::string const &, std::list< std::string > const &)
 
bool addDetector (std::string const &name, ReferenceFrame *pFrame, unsigned int cols=RZ_DEFAULT_CCD_RESOLUTION, unsigned int rows=RZ_DEFAULT_CCD_RESOLUTION, Real width=RZ_DEFAULT_CCD_WIDTH, Real height=RZ_DEFAULT_CCD_WIDTH)
 
bool addDetector (std::string const &name, std::string const &parentFrame, unsigned int cols=RZ_DEFAULT_CCD_RESOLUTION, unsigned int rows=RZ_DEFAULT_CCD_RESOLUTION, Real width=RZ_DEFAULT_CCD_WIDTH, Real height=RZ_DEFAULT_CCD_WIDTH)
 
std::list< std::string > frames () const
 
std::list< std::string > elements () const
 
std::list< std::string > opticalElements () const
 
std::list< std::string > detectors () const
 
std::list< std::string > opticalPaths () const
 
std::list< std::string > elementHierarchy (std::string const &pfx="") const
 
std::list< std::string > opticalElementHierarchy (std::string const &pfx="") const
 
void boundingBox (Vec3 &, Vec3 &) const
 
std::list< Element * > const & elementList () const
 
std::list< Element * > allElements () const
 
std::list< OpticalElement * > allOpticalElements () const
 
ReferenceFramelookupReferenceFrame (std::string const &) const
 
ElementresolveElement (std::string const &) const
 
ElementlookupElement (std::string const &) const
 
OpticalElementresolveOpticalElement (std::string const &) const
 
OpticalElementlookupOpticalElement (std::string const &) const
 
DetectorlookupDetector (std::string const &) const
 
const OpticalPathlookupOpticalPath (std::string const &="") const
 
ReferenceFramelookupReferenceFrameOrEx (std::string const &) const
 
ElementlookupElementOrEx (std::string const &) const
 
OpticalElementlookupOpticalElementOrEx (std::string const &) const
 
DetectorlookupDetectorOrEx (std::string const &) const
 
const OpticalPathlookupOpticalPathOrEx (std::string const &="") const
 
bool trace (std::string const &path, std::list< RZ::Ray > const &rays, bool updateBeamElement=false, RayTracingProcessListener *listener=nullptr, bool clear=true, const struct timeval *startTime=nullptr, bool clearIntermediate=true)
 
bool traceDiffraction (std::string const &path, std::list< RZ::Ray > const &rays, RayTracingProcessListener *listener=nullptr, bool clear=true, const struct timeval *startTime=nullptr)
 
bool traceDefault (std::list< RZ::Ray > const &rays, bool updateBeamElement=false, RayTracingProcessListener *listener=nullptr, bool clear=true, const struct timeval *startTime=nullptr)
 
bool traceNonSequential (std::list< RZ::Ray > const &rays, bool updateBeamElement=false, RayTracingProcessListener *listener=nullptr, bool clear=true, const struct timeval *startTime=nullptr, bool clearIntermediate=true, uint32_t maxProps=3000)
 
struct timeval lastTracerTick () const
 
bool savePNG (std::string const &detector, std::string const &file)
 

Static Public Member Functions

static TopLevelModelfromFile (std::string const &path, std::list< std::string > const &searchPaths=std::list< std::string >())
 
static TopLevelModelfromString (std::string const &str, std::list< std::string > const &searchPath=std::list< std::string >(), std::string const &fileName="<string>")
 
- Static Public Member Functions inherited from RZ::OMModel
static void addSkyBeam (std::list< Ray > &dest, unsigned int number=1000, Real radius=.5, Real azimuth=0, Real elevation=90, Real distance=10, uint32_t id=0, bool random=true)
 
static void addElementRelativeBeam (std::list< Ray > &dest, Element *element, unsigned int number=1000, Real radius=.5, Real azimuth=0, Real elevation=90, Real offX=0, Real offY=0, Real distance=10, uint32_t id=0, bool random=true)
 
static void addElementRelativeFocusBeam (std::list< Ray > &dest, Element *element, unsigned int number=1000, Real radius=.5, Real fNum=17.37, Real refAperture=200e-3, Real azimuth=0, Real elevation=90, Real offX=0, Real offY=0, Real distance=10, uint32_t id=0, bool random=true)
 
static void addFocalPlaneFocusedBeam (std::list< Ray > &dest, const ReferenceFrame *focalPlane, unsigned int number=1000, Real fNum=17.37, Real azimuth=0, Real elevation=90, Real offX=0, Real offY=0, Real distance=10, uint32_t id=0, bool random=true, Real offZ=0)
 
static void addBeam (std::list< Ray > &dest, BeamProperties const &)
 

Protected Member Functions

virtual void registerDof (std::string const &name, GenericModelParam *) override
 
virtual void registerParam (std::string const &name, GenericModelParam *) override
 
virtual void registerOpticalPath (std::string const &name, std::list< std::string > &params) override
 
virtual GenericEvaluatorallocateEvaluator (std::string const &expr, const GenericEvaluatorSymbolDict *dict, std::list< GenericCustomFunction * > const &functions, ExprRandomState *) override
 
void exposePort (std::string const &, ReferenceFrame *) override
 
- Protected Member Functions inherited from RZ::GenericCompositeModel
GenericModelParamallocateParam ()
 
GenericEvaluatorSymbolDict const & symbolDict () const
 
void setName (std::string const &)
 
virtual void registerDof (std::string const &name, GenericModelParam *)=0
 
virtual void registerParam (std::string const &name, GenericModelParam *)=0
 
virtual void registerOpticalPath (std::string const &name, std::list< std::string > &params)=0
 
virtual GenericEvaluatorallocateEvaluator (std::string const &expr, const GenericEvaluatorSymbolDict *dict, std::list< GenericCustomFunction * > const &functions, ExprRandomState *state)=0
 
virtual void exposePort (std::string const &name, ReferenceFrame *frame)
 
ReferenceFramegetFrameOfContext (const RecipeContext *) const
 
- Protected Member Functions inherited from RZ::OMModel
EvaluatedParametermakeParameter (std::string const &, std::string const &)
 
std::string genElementName (std::string const &type)
 
std::string genReferenceFrameName (std::string const &type)
 
bool registerDetectorAlias (std::string const &name, Detector *)
 

Member Function Documentation

◆ allocateEvaluator()

GenericEvaluator * TopLevelModel::allocateEvaluator ( std::string const &  expr,
const GenericEvaluatorSymbolDict *  dict,
std::list< GenericCustomFunction * > const &  functions,
ExprRandomState state 
)
overrideprotectedvirtual

◆ exposePort()

void TopLevelModel::exposePort ( std::string const &  name,
ReferenceFrame frame 
)
overrideprotectedvirtual

Reimplemented from RZ::GenericCompositeModel.

◆ notifyDetector()

void TopLevelModel::notifyDetector ( std::string const &  preferredName,
Detector det 
)
overridevirtual

◆ registerDof()

void TopLevelModel::registerDof ( std::string const &  name,
GenericModelParam param 
)
overrideprotectedvirtual

◆ registerOpticalPath()

void TopLevelModel::registerOpticalPath ( std::string const &  name,
std::list< std::string > &  params 
)
overrideprotectedvirtual

◆ registerParam()

void TopLevelModel::registerParam ( std::string const &  name,
GenericModelParam param 
)
overrideprotectedvirtual

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