PLaSK library
Loading...
Searching...
No Matches
optical::effective::EffectiveIndex2D::FieldDataBase< FieldT > Struct Template Reference
Inheritance diagram for optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >:
[legend]
Collaboration diagram for optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >:
[legend]

Public Member Functions

 FieldDataBase (EffectiveIndex2D *solver, std::size_t num)
 
- Public Member Functions inherited from plask::LazyDataImpl< FieldT >
virtual ~LazyDataImpl ()
 
virtual FieldT at (std::size_t index) const=0
 Get index-th value from vector.
 
virtual std::size_t size () const=0
 Get the number of elements in this vector.
 
virtual DataVector< const FieldT > getAll () const
 Get all values as non-lazy vector.
 
virtual DataVector< FieldT > claim () const
 

Public Attributes

EffectiveIndex2D * solver
 
std::size_t num
 
std::vector< dcomplex, aligned_allocator< dcomplex > > kx
 
std::vector< dcomplex, aligned_allocator< dcomplex > > ky
 
std::size_t stripe
 

Protected Member Functions

FieldT value (dcomplex val) const
 
void setScale ()
 
void setScale ()
 
double value (dcomplex val) const
 
void setScale ()
 
Vec< 3, dcomplex > value (dcomplex val) const
 

Protected Attributes

double scale
 

Additional Inherited Members

- Public Types inherited from plask::LazyDataImpl< FieldT >
typedef FieldT CellType
 

Detailed Description

template<typename FieldT>
struct optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >

Definition at line 727 of file eim.cpp.

Constructor & Destructor Documentation

◆ FieldDataBase()

template<typename FieldT >
optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::FieldDataBase ( EffectiveIndex2D *  solver,
std::size_t  num 
)
inline

Definition at line 733 of file eim.cpp.

Member Function Documentation

◆ setScale() [1/3]

template<typename FieldT >
void optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::setScale ( )
protected

◆ setScale() [2/3]

void plask::optical::effective::EffectiveIndex2D::FieldDataBase< double >::setScale ( )
protected

Definition at line 766 of file eim.cpp.

◆ setScale() [3/3]

void plask::optical::effective::EffectiveIndex2D::FieldDataBase< Vec< 3, dcomplex > >::setScale ( )
protected

Definition at line 770 of file eim.cpp.

◆ value() [1/3]

template<typename FieldT >
FieldT optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::value ( dcomplex  val) const
inlineprotected

◆ value() [2/3]

double plask::optical::effective::EffectiveIndex2D::FieldDataBase< double >::value ( dcomplex  val) const
protected

Definition at line 768 of file eim.cpp.

◆ value() [3/3]

Vec< 3, dcomplex > plask::optical::effective::EffectiveIndex2D::FieldDataBase< Vec< 3, dcomplex > >::value ( dcomplex  val) const
protected

Definition at line 775 of file eim.cpp.

Member Data Documentation

◆ kx

template<typename FieldT >
std::vector<dcomplex, aligned_allocator<dcomplex> > optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::kx

Definition at line 730 of file eim.cpp.

◆ ky

template<typename FieldT >
std::vector<dcomplex, aligned_allocator<dcomplex> > optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::ky

Definition at line 730 of file eim.cpp.

◆ num

template<typename FieldT >
std::size_t optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::num

Definition at line 729 of file eim.cpp.

◆ scale

template<typename FieldT >
double optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::scale
protected

Definition at line 762 of file eim.cpp.

◆ solver

template<typename FieldT >
EffectiveIndex2D* optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::solver

Definition at line 728 of file eim.cpp.

◆ stripe

template<typename FieldT >
std::size_t optical::effective::EffectiveIndex2D::FieldDataBase< FieldT >::stripe

Definition at line 731 of file eim.cpp.


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