RayZaler 0.1
The free opto-mechanical simulation framework
RZ::RayBeam Struct Reference
Collaboration diagram for RZ::RayBeam:

Public Member Functions

bool isChief (uint64_t index) const
 
bool isIntercepted (uint64_t index) const
 
bool hasRay (uint64_t index) const
 
void prune (uint64_t c)
 
void pruneAll ()
 
void uninterceptAll ()
 
void intercept (uint64_t c)
 
bool setChiefRay (uint64_t c)
 
bool unsetsetChiefRay (uint64_t c)
 
bool hadRay (uint64_t index) const
 
void copyRay (const RayBeam *existing, uint64_t index)
 
virtual void allocate (uint64_t)
 
virtual void deallocate ()
 
template<class T >
void extractRays (T &dest, uint32_t mask, OpticalSurface *current=nullptr, RayBeamSlice const &beam=RayBeamSlice())
 
void clearMask ()
 
void computeInterceptStatistics (OpticalSurface *=nullptr)
 
void updateOrigins ()
 
void toRelative (const ReferenceFrame *plane)
 
void toRelative (RayBeam *, const ReferenceFrame *plane) const
 
void fromRelative (const ReferenceFrame *plane)
 
void fromSurfaceRelative ()
 
void walk (OpticalSurface *, const std::function< void(OpticalSurface *, RayBeamSlice const &)> &f)
 
uint64_t updateFromVisible (const OpticalSurface *, const RayBeam *)
 
 RayBeam (uint64_t, bool mediumBoundaries=false)
 
template<class C >
void extractRays (C &dest, RayBeamSlice const &slice, uint32_t mask, OpticalSurface *surface, RayBeamSlice const &exclude)
 
template<class C >
void extractRays (C &dest, uint32_t mask, OpticalSurface *surf, RayBeamSlice const &slice)
 

Static Public Member Functions

template<class T >
static void extractRays (T &dest, RayBeamSlice const &slice, uint32_t mask, OpticalSurface *current=nullptr, RayBeamSlice const &beam=RayBeamSlice())
 

Public Attributes

uint64_t count = 0
 
uint64_t allocation = 0
 
bool nonSeq = false
 
Real * origins = nullptr
 
Real * directions = nullptr
 
Real * destinations = nullptr
 
Complex * amplitude = nullptr
 
Real * lengths = nullptr
 
Real * cumOptLengths = nullptr
 
Real * normals = nullptr
 
Real * wavelengths = nullptr
 
Real * refNdx = nullptr
 
uint32_t * ids = nullptr
 
uint64_t * mask = nullptr
 
uint64_t * intMask = nullptr
 
uint64_t * prevMask = nullptr
 
uint64_t * chiefMask = nullptr
 
OpticalSurface ** surfaces = nullptr
 

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