47 lines
1.6 KiB
Cython
47 lines
1.6 KiB
Cython
from .qpms_cdefs cimport qpms_permittivity_interpolator_t, qpms_epsmu_generator_t, qpms_epsmu_t, qpms_ldparams_t
|
|
|
|
cdef extern from "materials.h":
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_AG
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_AU
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_CU
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_AL
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_CR
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_TI
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_BE
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_NI
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_PD
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_PT
|
|
const qpms_ldparams_t *const QPMS_LDPARAMS_W
|
|
|
|
cdef class MaterialInterpolator:
|
|
cdef qpms_permittivity_interpolator_t *interp
|
|
cdef readonly double omegamin
|
|
cdef readonly double omegamax
|
|
cdef inline void *rawpointer(self):
|
|
return <void *>(self.interp)
|
|
|
|
cdef class EpsMu:
|
|
cdef public qpms_epsmu_t em
|
|
cdef inline void *rawpointer(self):
|
|
return <void *>&(self.em)
|
|
|
|
cdef class LorentzDrudeModel:
|
|
cdef const qpms_ldparams_t *params
|
|
#cdef bint owns_params
|
|
cdef inline void *rawpointer(self):
|
|
return <void *>(self.params)
|
|
|
|
cdef class _CLorentzDrudeModel:
|
|
''' Drude-Lorentz parameters initialised from raw C structure. Private, do not use. '''
|
|
cdef const qpms_ldparams_t *params
|
|
cdef inline void *rawpointer(self):
|
|
return <void *>(self.params)
|
|
@staticmethod
|
|
cdef link(const qpms_ldparams_t *params) # The actual constructor
|
|
|
|
cdef class EpsMuGenerator:
|
|
cdef qpms_epsmu_generator_t g
|
|
cdef object holder
|
|
cdef qpms_epsmu_generator_t raw(self)
|
|
|