1 from .qpms_cdefs cimport qpms_permittivity_interpolator_t, qpms_epsmu_generator_t, qpms_epsmu_t, qpms_ldparams_t
3 cdef extern from "materials.h":
4 const qpms_ldparams_t *const QPMS_LDPARAMS_AG
5 const qpms_ldparams_t *const QPMS_LDPARAMS_AU
6 const qpms_ldparams_t *const QPMS_LDPARAMS_CU
7 const qpms_ldparams_t *const QPMS_LDPARAMS_AL
8 const qpms_ldparams_t *const QPMS_LDPARAMS_CR
9 const qpms_ldparams_t *const QPMS_LDPARAMS_TI
10 const qpms_ldparams_t *const QPMS_LDPARAMS_BE
11 const qpms_ldparams_t *const QPMS_LDPARAMS_NI
12 const qpms_ldparams_t *const QPMS_LDPARAMS_PD
13 const qpms_ldparams_t *const QPMS_LDPARAMS_PT
14 const qpms_ldparams_t *const QPMS_LDPARAMS_W
16 cdef class MaterialInterpolator:
17 cdef qpms_permittivity_interpolator_t *interp
18 cdef readonly double omegamin
19 cdef readonly double omegamax
20 cdef inline void *rawpointer(self):
21 return <void *>&(self.interp)
24 cdef public qpms_epsmu_t em
25 cdef inline void *rawpointer(self):
26 return <void *>&(self.em)
28 cdef class LorentzDrudeModel:
29 cdef const qpms_ldparams_t *params
30 #cdef bint owns_params
31 cdef inline void *rawpointer(self):
32 return <void *>(self.params)
34 cdef class _CLorentzDrudeModel:
35 ''' Drude-Lorentz parameters initialised from raw C structure. Private, do not use. '''
36 cdef const qpms_ldparams_t *params
37 cdef inline void *rawpointer(self):
38 return <void *>(self.params)
40 cdef link(const qpms_ldparams_t *params) # The actual constructor
42 cdef class EpsMuGenerator:
43 cdef qpms_epsmu_generator_t g
45 cdef qpms_epsmu_generator_t raw(self)