▼ src | |
▼ common | |
BeamInit.h | Initialize beam objects |
InterfaceBeam.cpp | Implementations for beam initialization interface |
InterfaceBeam.h | Header for beam initialization interface |
InterfaceReflector.cpp | Implementation of reflector objects |
InterfaceReflector.h | Header for reflector generation interface |
Transform.cpp | Implementations of transformations for frames and fields/currents |
Transform.h | Declaration of transformations for frames and fields/currents |
▼ CPU | |
InterfaceCPU.cpp | Implementation of PO and RT library for CPU |
InterfaceCPU.h | Declarations of PO and RT library for CPU |
Propagation.h | Functions for PO calculations on CPU |
RayTrace.h | Functions for RT calculations on CPU |
▼ CUDA | |
Debug.h | Methods for printing complex or real arrays of length 3 for GPU |
InterfaceCUDA.h | Declarations of PO and RT library for GPU |
Kernelsf.cu | Kernels for CUDA PO calculations |
KernelsRTf.cu | Kernel for CUDA RT calculations |
▼ GUI | |
▼ ParameterForms | |
formData.py | This file contains all forms used by the GUI for interaction with the user |
formGenerator.py | Form generator |
InputDescription.py | Defines an attr dataclass used to store the data of parameter forms |
inputWidgetInterfaces.py | Defines interfaces for input widgets to inherit from to ensure certain behavior |
simpleInputWidgets.py | Provides implementation of form inputs |
Accordion.py | An implementation of an accordion component |
Dialogs.py | Defines dialogs for the GUI |
ElementWidget.py | Defines ElementWidget and its subclasses for the workspace |
MainWindow.py | Defines classes PyPOMainWindow and MainWidget |
PlotScreen.py | Defines a matplotlib plot widget that can be placed in the GUI |
SubprocessManager.py | Contains the tools to run a function in a subprocess |
utils.py | Contains utilities for the GUI |
WorkSpace.py | Defines the workspace widget |
▼ include | |
GUtils.h | Linear algebra functions for the CUDA version of PyPO |
MemUtils.h | Utility class for CUDA memory allocations |
Random.h | Class for generating random numbers |
RTRefls.h | Simple reflector definitions used for PyPO ray-tracer |
Structs.h | Structs used within PyPO |
Utils.h | Linear algebra functions for the CPU version of PyPO |
▼ PyPO | |
BindBeam.py | Bindings for the ctypes interface for PyPO |
BindCPU.py | Bindings for the ctypes interface for PyPO |
BindGPU.py | Bindings for the ctypes interface for PyPO |
BindRefl.py | Bindings for the ctypes interface for PyPO |
BindTransf.py | Bindings for the ctypes interface for PyPO |
BindUtils.py | Utilities for the ctypes interface |
Checks.py | File containing all commonly used checks for PyPO user input |
Config.py | Functions to set context for the logging and error checking |
CustomLogger.py | This file contains class definitions of the custom logger objects used in PyPO |
Efficiencies.py | File containing functions for calculating efficiencies and other metrics |
Enums.py | File containing enum types for PyPO methods |
FitGauss.py | File containing methods for fitting Gaussian distributions to field components |
MatTransform.py | Transformation formalism for PyPO |
MatUtils.py | File containing a method for finding a connected subset, centered around a starting index, in a matrix |
PlotConfig.py | File containing the definitions for plotting style |
Plotter.py | File containing functions for generating plots |
PyPOTypes.py | Definitions of PyPO data structures |
Sellmeier.py | File containing classes representing dielectric materials commonly used in lenses |
Structs.py | Definitions of data structures used in the ctypes interface |
System.py | System interface for PyPO |
Templates.py | Templates for commonly used PyPO dictionaries |
WorldParam.py | Set global world parameters for PyPO |