| ▼ 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 |