Loading...
Searching...
No Matches
q3::QuantumSystem< QuantumStateType > Class Template Reference

#include <quantum_system.hpp>

+ Inheritance diagram for q3::QuantumSystem< QuantumStateType >:

Public Member Functions

virtual ~QuantumSystem ()=default
 
virtual void copy_quantum_states_from (const QuantumSystem< QuantumStateType > &source)
 
QuantumStateType & get_quantum_state_by_index (int index)
 
const QuantumStateType & get_quantum_state_by_index (int index) const
 Access a quantum state by flat index.
 
void load_quantum_system (const QuantumSystem< QuantumStateType > &system)
 
int number_of_quantum_states () const
 Number of quantum states in the system.
 

Public Attributes

Crystal * crystal_structure {nullptr}
 
const QuantumSystem< QuantumStateType > * preloaded_quantum_system_ {nullptr}
 

Protected Attributes

std::vector< QuantumStateType > quantum_states_
 

Detailed Description

template<typename QuantumStateType>
class q3::QuantumSystem< QuantumStateType >

A quantum system containing a collection of quantum states defined on a crystal structure.

Templated on the state type, which itself is templated on the wavefunction representation. This base class owns the crystal pointer, the state storage, and provides basic accessors.

Definition at line 35 of file quantum_system.hpp.

Constructor & Destructor Documentation

◆ ~QuantumSystem()

template<typename QuantumStateType >
virtual q3::QuantumSystem< QuantumStateType >::~QuantumSystem ( )
virtualdefault

Member Function Documentation

◆ copy_quantum_states_from()

template<typename QuantumStateType >
virtual void q3::QuantumSystem< QuantumStateType >::copy_quantum_states_from ( const QuantumSystem< QuantumStateType > &  source)
inlinevirtual

◆ get_quantum_state_by_index() [1/2]

template<typename QuantumStateType >
QuantumStateType & q3::QuantumSystem< QuantumStateType >::get_quantum_state_by_index ( int  index)
inline

◆ get_quantum_state_by_index() [2/2]

template<typename QuantumStateType >
const QuantumStateType & q3::QuantumSystem< QuantumStateType >::get_quantum_state_by_index ( int  index) const
inline

Access a quantum state by flat index.

Definition at line 64 of file quantum_system.hpp.

References q3::QuantumSystem< QuantumStateType >::quantum_states_.

◆ load_quantum_system()

template<typename QuantumStateType >
void q3::QuantumSystem< QuantumStateType >::load_quantum_system ( const QuantumSystem< QuantumStateType > &  system)
inline

◆ number_of_quantum_states()

template<typename QuantumStateType >
int q3::QuantumSystem< QuantumStateType >::number_of_quantum_states ( ) const
inline

Number of quantum states in the system.

Definition at line 59 of file quantum_system.hpp.

References q3::QuantumSystem< QuantumStateType >::quantum_states_.

Member Data Documentation

◆ crystal_structure

template<typename QuantumStateType >
Crystal* q3::QuantumSystem< QuantumStateType >::crystal_structure {nullptr}

◆ preloaded_quantum_system_

◆ quantum_states_


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