TBTK
TBTK::Property::TransmissionRate Class Reference

Property container for transmission rates. More...

#include <TransmissionRate.h>

Inheritance diagram for TBTK::Property::TransmissionRate:
TBTK::Property::EnergyResolvedProperty< double > TBTK::Property::AbstractProperty< double > TBTK::Property::Property TBTK::Serializable TBTK::Streamable

Public Member Functions

 TransmissionRate (double lowerBound, double upperBound, int resolution)
 
 TransmissionRate (double lowerBound, double upperBound, int resolution, const double *data)
 
 TransmissionRate (const std::string &serialization, Mode mode)
 
TransmissionRateoperator+= (const TransmissionRate &rhs)
 
TransmissionRate operator+ (const TransmissionRate &rhs) const
 
TransmissionRateoperator-= (const TransmissionRate &rhs)
 
TransmissionRate operator- (const TransmissionRate &rhs) const
 
TransmissionRateoperator*= (const TransmissionRate &rhs)
 
TransmissionRate operator* (const TransmissionRate &rhs) const
 
TransmissionRateoperator*= (const double &rhs)
 
TransmissionRate operator* (const double &rhs) const
 
TransmissionRateoperator/= (const TransmissionRate &rhs)
 
TransmissionRate operator/ (const TransmissionRate &rhs) const
 
TransmissionRateoperator/= (const double &rhs)
 
TransmissionRate operator/ (const double &rhs) const
 
virtual std::string serialize (Mode mode) const
 
- Public Member Functions inherited from TBTK::Property::EnergyResolvedProperty< double >
 EnergyResolvedProperty ()
 
 EnergyResolvedProperty (double lowerBound, double upperBound, unsigned int resolution)
 
 EnergyResolvedProperty (double lowerBound, double upperBound, unsigned int resolution, const double *data)
 
 EnergyResolvedProperty (const std::vector< int > &ranges, double lowerBound, double upperBound, unsigned int resolution)
 
 EnergyResolvedProperty (const std::vector< int > &ranges, double lowerBound, double upperBound, unsigned int resolution, const double *data)
 
 EnergyResolvedProperty (const IndexTree &indexTree, double lowerBound, double upperBound, unsigned int resolution)
 
 EnergyResolvedProperty (const IndexTree &indexTree, double lowerBound, double upperBound, unsigned int resolution, const double *data)
 
 EnergyResolvedProperty (EnergyType energyType, const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergtIndex, double fundamentalMatsubaraEnergy)
 
 EnergyResolvedProperty (EnergyType energyType, const IndexTree &indexTree, int lowerMatsubaraEnergyIndex, int upperMatsubaraEnergtIndex, double fundamentalMatsubaraEnergy, const double *data)
 
 EnergyResolvedProperty (const std::string &serialization, Serializable::Mode mode)
 
EnergyType getEnergyType () const
 
double getLowerBound () const
 
double getUpperBound () const
 
unsigned int getResolution () const
 
double getDeltaE () const
 
double getEnergy (unsigned int n) const
 
int getLowerMatsubaraEnergyIndex () const
 
int getUpperMatsubaraEnergyIndex () const
 
unsigned int getNumMatsubaraEnergies () const
 
double getFundamentalMatsubaraEnergy () const
 
double getLowerMatsubaraEnergy () const
 
double getUpperMatsubaraEnergy () const
 
std::complex< double > getMatsubaraEnergy (unsigned int n) const
 
unsigned int getNumEnergies () const
 
bool energyWindowsAreEqual (const EnergyResolvedProperty &energyResolvedProperty, double precision=1e-1) const
 
- Public Member Functions inherited from TBTK::Property::AbstractProperty< double >
unsigned int getBlockSize () const
 
unsigned int getSize () const
 
const std::vector< double > & getData () const
 
std::vector< double > & getDataRW ()
 
unsigned int getDimensions () const
 
std::vector< int > getRanges () const
 
int getOffset (const Index &index) const
 
const IndexDescriptorgetIndexDescriptor () const
 
bool contains (const Index &index) const
 
void reduce (const std::vector< Index > &targetPatterns, const std::vector< Index > &newPatterns)
 
void hermitianConjugate ()
 
std::vector< SparseMatrix< double > > toSparseMatrices (const Model &model) const
 
virtual const double & operator() (const Index &index, unsigned int offset=0) const
 
virtual double & operator() (const Index &index, unsigned int offset=0)
 
double & operator() (const std::initializer_list< Subindex > &index)
 
const double & operator() (const std::initializer_list< Subindex > &index) const
 
virtual const double & operator() (unsigned int offset) const
 
virtual double & operator() (unsigned int offset)
 
void setAllowIndexOutOfBoundsAccess (bool allowIndexOutOfBoundsAccess)
 
void setDefaultValue (const double &defaultValue)
 
void replaceValues (const double &targetValue, const double &replacementValue)
 
virtual std::string toString () const
 
- Public Member Functions inherited from TBTK::Serializable
template<>
std::string serialize (const bool &data, Mode mode)
 
template<>
std::string serialize (const double &data, Mode mode)
 
template<>
std::string serialize (const std::complex< double > &data, Mode mode)
 
template<>
std::string serialize (const int &data, Mode mode)
 
template<>
std::string serialize (const unsigned int &data, Mode mode)
 
template<>
std::string serialize (const SpinMatrix &data, Mode mode)
 
template<>
std::string serialize (const Statistics &data, Mode mode)
 
template<>
std::string serialize (const std::vector< std::complex< double >> &data, Mode mode)
 
template<>
int deserialize (const std::string &serialization, Mode mode)
 
template<>
unsigned int deserialize (const std::string &serialization, Mode mode)
 
template<>
double deserialize (const std::string &serialization, Mode mode)
 
template<>
std::complex< double > deserialize (const std::string &serialization, Mode mode)
 
template<>
SpinMatrix deserialize (const std::string &serialization, Mode mode)
 
template<>
Statistics deserialize (const std::string &serialization, Mode mode)
 
template<>
std::vector< std::complex< double > > deserialize (const std::string &serialization, Mode mode)
 

Friends

TransmissionRate operator* (const double &lhs, const TransmissionRate &rhs)
 

Additional Inherited Members

- Public Types inherited from TBTK::Property::EnergyResolvedProperty< double >
enum  EnergyType
 
- Public Types inherited from TBTK::Serializable
enum  Mode { Debug, Binary, XML, JSON }
 
- Static Public Member Functions inherited from TBTK::Serializable
static bool hasID (const std::string &serialization, Mode mode)
 
static std::string getID (const std::string &serialization, Mode mode)
 
static std::string extractComponent (const std::string &serialization, const std::string &containerID, const std::string &componentID, const std::string &componentName, Mode mode)
 
- Protected Member Functions inherited from TBTK::Property::EnergyResolvedProperty< double >
EnergyResolvedPropertyoperator+= (const EnergyResolvedProperty &rhs)
 
EnergyResolvedPropertyoperator-= (const EnergyResolvedProperty &rhs)
 
EnergyResolvedPropertyoperator*= (const double &rhs)
 
EnergyResolvedPropertyoperator/= (const double &rhs)
 
- Protected Member Functions inherited from TBTK::Property::AbstractProperty< double >
 AbstractProperty ()
 
 AbstractProperty (unsigned int blockSize)
 
 AbstractProperty (unsigned int blockSize, const double *data)
 
 AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize)
 
 AbstractProperty (const std::vector< int > &ranges, unsigned int blockSize, const double *data)
 
 AbstractProperty (const IndexTree &indexTree, unsigned int blockSize)
 
 AbstractProperty (const IndexTree &indexTree, unsigned int blockSize, const double *data)
 
 AbstractProperty (const AbstractProperty &abstractProperty)
 
 AbstractProperty (AbstractProperty &&abstractProperty)
 
 AbstractProperty (const std::string &serialization, Mode mode)
 
virtual ~AbstractProperty ()
 
AbstractPropertyoperator= (const AbstractProperty &abstractProperty)
 
AbstractPropertyoperator= (AbstractProperty &&abstractProperty)
 
AbstractPropertyoperator+= (const AbstractProperty &rhs)
 
AbstractPropertyoperator-= (const AbstractProperty &rhs)
 
AbstractPropertyoperator*= (const double &rhs)
 
AbstractPropertyoperator/= (const double &rhs)
 
- Protected Member Functions inherited from TBTK::Property::Property
 Property ()
 
virtual ~Property ()
 
- Static Protected Member Functions inherited from TBTK::Serializable
static bool validate (const std::string &serialization, const std::string &id, Mode mode)
 
static std::string getContent (const std::string &serialization, Mode mode)
 
static std::vector< std::string > split (const std::string &content, Mode mode)
 
template<typename DataType >
static std::enable_if<!std::is_pointer< DataType >::value, std::string >::type serialize (const DataType &data, Mode mode)
 
template<typename DataType >
static std::enable_if< std::is_pointer< DataType >::value, std::string >::type serialize (const DataType &data, Mode mode)
 
template<typename DataType >
static DataType deserialize (const std::string &serialization, Mode mode)
 
static std::string extract (const std::string &serialization, Mode mode, std::string component)
 

Detailed Description

Property container for transmission rates.

Constructor & Destructor Documentation

◆ TransmissionRate() [1/3]

TBTK::Property::TransmissionRate::TransmissionRate ( double  lowerBound,
double  upperBound,
int  resolution 
)

Constructs a TransmissionRate.

Parameters
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to us for the energy.

◆ TransmissionRate() [2/3]

TBTK::Property::TransmissionRate::TransmissionRate ( double  lowerBound,
double  upperBound,
int  resolution,
const double *  data 
)

Constructs a TransmissionRate and initializes it with data.

Parameters
lowerBoundLower bound for the energy.
upperBoundUpper bound for the energy.
resolutionNumber of points to us for the energy.
dataRaw data to initialize the TransmissionRate with.

◆ TransmissionRate() [3/3]

TBTK::Property::TransmissionRate::TransmissionRate ( const std::string &  serialization,
Mode  mode 
)

Constructor. Constructs the TransmissionRate from a serialization string.

Parameters
serializationSerialization string from which to construct the TransmissionRate.
modeMode with which the string has been serialized.

Member Function Documentation

◆ operator*() [1/2]

TransmissionRate TBTK::Property::TransmissionRate::operator* ( const TransmissionRate rhs) const
inline

Multiplciation operator.

Parameters
rhsThe right hand side of the expression.
Returns
A new TransmissionRate that is the product of this TransmissionRate and the right hand side.

◆ operator*() [2/2]

TransmissionRate TBTK::Property::TransmissionRate::operator* ( const double &  rhs) const
inline

Multiplication operator.

Parameters
rhsThe right hand side of the equation.
Returns
A new TransmissionRate that is the product of the TransmissionRate and the right hand side.

◆ operator*=() [1/2]

TransmissionRate& TBTK::Property::TransmissionRate::operator*= ( const TransmissionRate rhs)

Multiplication assignment operator.

Parameters
rhsThe right hand side of the expression.
Returns
The left hand side aftre the right hand side after having been multiplied by the right hand side.

◆ operator*=() [2/2]

TransmissionRate & TBTK::Property::TransmissionRate::operator*= ( const double &  rhs)
inline

◆ operator+()

TransmissionRate TBTK::Property::TransmissionRate::operator+ ( const TransmissionRate rhs) const
inline

Addition operator.

Parameters
rhsThe right hand side of the equation.
Returns
A new TransmissionRate that is the sum of this TransmissionRate and the right hand side.

◆ operator+=()

TransmissionRate & TBTK::Property::TransmissionRate::operator+= ( const TransmissionRate rhs)
inline

◆ operator-()

TransmissionRate TBTK::Property::TransmissionRate::operator- ( const TransmissionRate rhs) const
inline

Subtraction operator.

Parameters
rhsThe right hand side of the equation.
Returns
A new TransmissionRate that is the difference between this TransmissionRate and the right hand side.

◆ operator-=()

TransmissionRate & TBTK::Property::TransmissionRate::operator-= ( const TransmissionRate rhs)
inline

◆ operator/() [1/2]

TransmissionRate TBTK::Property::TransmissionRate::operator/ ( const TransmissionRate rhs) const
inline

Division operator.

Parameters
lhsThe left hand side of the expression.
rhsThe right hand side of the expression.
Returns
A new TransmissionRate that is the quotient between the left hand side and the right hand side.

◆ operator/() [2/2]

TransmissionRate TBTK::Property::TransmissionRate::operator/ ( const double &  rhs) const
inline

Division operator.

Parameters
rhsThe right hand side of the equation.
Returns
A new TransmissionRate that is the quotient the TransmissionRate and the right hand side.

◆ operator/=() [1/2]

TransmissionRate& TBTK::Property::TransmissionRate::operator/= ( const TransmissionRate rhs)

Division assignment operator.

Parameters
rhsThe right hand side of the expression.
Returns
The left hand side after having been divided by the right hand side.

◆ operator/=() [2/2]

TransmissionRate & TBTK::Property::TransmissionRate::operator/= ( const double &  rhs)
inline

◆ serialize()

virtual std::string TBTK::Property::TransmissionRate::serialize ( Mode  mode) const
virtual

Friends And Related Function Documentation

◆ operator*

TransmissionRate operator* ( const double &  lhs,
const TransmissionRate rhs 
)
friend

Multiplication operator.

Parameters
lhsThe left hand side of the equation.
rhsThe right hand side of the equation.
Returns
A new TransmissionRate that is the product of the left hand side and the TransmissionRate.

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