rayXpanda API

Deflection

rayXpanda.deflection.deflect(double cos_alpha, double u)

Coordinate deflection as a function of local ray angle and compactness.

Parameters:
  • double\(\cos\alpha\)
  • double\(r_{s}/R\)
Returns:

tuple – (\(\cos\psi\), \(\partial\cos\alpha/\partial\cos\psi/(1-u)\))

Inversion

rayXpanda.inversion.invert(double cos_psi, double u)

Local ray angle as a function of coordinate deflection and compactness.

Parameters:
  • double\(\cos\psi\)
  • double\(r_{s}/R\)
Returns:

tuple – (\(\cos\alpha\), \(\partial\cos\alpha/\partial\cos\psi/(1-u)\))

Vectorised

Pass contiguous numpy.ndarray objects for the __Pyx_memviewslice arguments.

rayXpanda.deflection.deflect_vec(__Pyx_memviewslice cos_alpha, double u)

Vectorised variant of deflect().

Parameters:
  • obj – 1D numpy.ndarray of \(\cos\alpha\)
  • double\(r_{s}/R\)
Returns:

tuple – (1D numpy.ndarray of \(\cos\psi\), 1D numpy.ndarray of \(\partial\cos\alpha/\partial\cos\psi/(1-u)\))

Note

The underlying C array pointed upon call is modified in place and returned having been transformed according to \(\cos\alpha\mapsto\cos\psi\).

rayXpanda.inversion.invert_vec(__Pyx_memviewslice cos_psi, double u)

Vectorised variant of invert().

Parameters:
  • obj – 1D numpy.ndarray of \(\cos\psi\)
  • double\(r_{s}/R\)
Returns:

tuple – (1D numpy.ndarray of \(\cos\alpha\), 1D numpy.ndarray of \(\partial\cos\alpha/\partial\cos\psi/(1-u)\))

Note

The underlying C array pointed upon call is modified in place and returned having been transformed according to \(\cos\psi\mapsto\cos\alpha\).