WaveBlocksND
Public Member Functions | Private Attributes | List of all members
waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component Class Reference

Represents a component \( \Phi_n \) of an inhomogeneous wavepacket \( \Psi \). More...

#include <hawp_commons.hpp>

Inheritance diagram for waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component:
waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex > waveblocks::wavepackets::AbstractScalarHaWpBasis< D, MultiIndex >

Public Member Functions

 Component (InhomogeneousHaWp const *const owner)
 
 Component (Component &&that)
 
 Component (Component const &that)
 
Componentoperator= (Component &&that)
 
Componentoperator= (Component const &that)
 
real_t eps () const override
 Forwards the scaling parameter \( \varepsilon \) of the owning inhomogeneous wavepacket. More...
 
HaWpParamSet< D > & parameters ()
 Grants writeable access to the Hagedorn parameter set \( \Pi \). More...
 
HaWpParamSet< D > const & parameters () const override
 Grants read-only access to the Hagedorn parameter set \( \Pi \) of the wavepacket. More...
 
shapes::ShapeEnumSharedPtr< D, MultiIndex > & shape ()
 Grants access to the basis shape \( \mathfrak{K} \) of the wavepacket. More...
 
shapes::ShapeEnumSharedPtr< D, MultiIndex > shape () const override
 Retrieves the basis shape \( \mathfrak{K} \) of the wavepacket. More...
 
Coefficientscoefficients ()
 Grants writeable access to the coefficients of this wavepacket component. More...
 
Coefficients const & coefficients () const override
 Grants read-only access to the coefficients \( \{c_k\} \) for all \( k \in \mathfrak{K} \) of this wavepacket. More...
 
- Public Member Functions inherited from waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >
template<int N>
CArray< 1, N > evaluate (CMatrix< D, N > const &grid) const
 Evaluates this wavepacket \( \Phi(x) \) at complex grid nodes \( x \in \gamma \). More...
 
template<int N>
CArray< 1, N > evaluate (RMatrix< D, N > const &rgrid) const
 Evaluates this wavepacket \( \Phi(x) \) at real grid nodes \( x \in \gamma \). More...
 
complex_t prefactor () const
 Computes the prefactor \( \frac{1}{\sqrt{det(Q)}} \). More...
 
complex_t phasefactor () const
 Computes the global phase factor \( \exp{(\frac{i S}{\varepsilon^2})} \). More...
 
- Public Member Functions inherited from waveblocks::wavepackets::AbstractScalarHaWpBasis< D, MultiIndex >
template<int N>
HaWpEvaluator< D, MultiIndex, N > create_evaluator (CMatrix< D, N > const &grid) const
 
template<int N>
HaWpBasisVector< N > evaluate_basis (CMatrix< D, N > const &grid) const
 Evaluates all basis functions \( \{\phi_k\} \) on complex grid nodes \( x \in \gamma \). More...
 
template<int N>
HaWpBasisVector< N > evaluate_basis (RMatrix< D, N > const &rgrid) const
 Evaluates all basis functions \( \{\phi_k\} \) on real grid nodes \( x \in \gamma \). More...
 
shapes::ShapeEnumSharedPtr< D, MultiIndex > extended_shape () const
 Computes the extension \( \mathfrak{K}_{ext} \) of the stored basis shape \( \mathfrak{K} \). More...
 

Private Attributes

InhomogeneousHaWp const *const owner_
 
HaWpParamSet< D > parameters_
 
shapes::ShapeEnumSharedPtr< D, MultiIndex > shape_
 
Coefficients coefficients_
 

Detailed Description

template<dim_t D, class MultiIndex>
class waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component

Represents a component \( \Phi_n \) of an inhomogeneous wavepacket \( \Psi \).

Such a component is a full-fledged scalar Hagedorn wavepacket that shares only the scaling parameter \( \varepsilon \) with other components.

Constructor & Destructor Documentation

template<dim_t D, class MultiIndex >
waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::Component ( InhomogeneousHaWp const *const  owner)
inline
template<dim_t D, class MultiIndex >
waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::Component ( Component &&  that)
inline
template<dim_t D, class MultiIndex >
waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::Component ( Component const &  that)
inline

Member Function Documentation

template<dim_t D, class MultiIndex >
Coefficients& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::coefficients ( )
inline

Grants writeable access to the coefficients of this wavepacket component.

template<dim_t D, class MultiIndex >
Coefficients const& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::coefficients ( ) const
inlineoverridevirtual

Grants read-only access to the coefficients \( \{c_k\} \) for all \( k \in \mathfrak{K} \) of this wavepacket.

Implements waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >.

template<dim_t D, class MultiIndex >
real_t waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::eps ( ) const
inlineoverridevirtual

Forwards the scaling parameter \( \varepsilon \) of the owning inhomogeneous wavepacket.

Implements waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >.

template<dim_t D, class MultiIndex >
Component& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::operator= ( Component &&  that)
inline
template<dim_t D, class MultiIndex >
Component& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::operator= ( Component const &  that)
inline
template<dim_t D, class MultiIndex >
HaWpParamSet<D>& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::parameters ( )
inline

Grants writeable access to the Hagedorn parameter set \( \Pi \).

template<dim_t D, class MultiIndex >
HaWpParamSet<D> const& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::parameters ( ) const
inlineoverridevirtual

Grants read-only access to the Hagedorn parameter set \( \Pi \) of the wavepacket.

Implements waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >.

template<dim_t D, class MultiIndex >
shapes::ShapeEnumSharedPtr<D, MultiIndex>& waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::shape ( )
inline

Grants access to the basis shape \( \mathfrak{K} \) of the wavepacket.

Returns
Reference to the shape enumeration pointer. You can assign a new pointer to it!
template<dim_t D, class MultiIndex >
shapes::ShapeEnumSharedPtr<D, MultiIndex> waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::shape ( ) const
inlineoverridevirtual

Retrieves the basis shape \( \mathfrak{K} \) of the wavepacket.

Implements waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >.

Member Data Documentation

template<dim_t D, class MultiIndex >
Coefficients waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::coefficients_
private
template<dim_t D, class MultiIndex >
InhomogeneousHaWp const* const waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::owner_
private
template<dim_t D, class MultiIndex >
HaWpParamSet<D> waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::parameters_
private
template<dim_t D, class MultiIndex >
shapes::ShapeEnumSharedPtr<D, MultiIndex> waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component::shape_
private

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