1#ifndef VIENNASHE_TRAP_LEVEL_HPP
2#define VIENNASHE_TRAP_LEVEL_HPP
34 density_(0), energy_(0),
45 collision_cross_section_ = ccs;
64 double density()
const {
return density_; }
77 void energy(
double e) { energy_ = e; }
80 double energy()
const {
return energy_; }
83 double collision_cross_section_;
95 << rhs.
density() <<
" m^-3 or m^-2 ";
Exception for the case that an invalid value (depends on the method called) is encountered.
void energy(double e)
Returns the trap energy in Joule (zero energy refers to the center of the band gap.
void collision_cross_section(double ccs)
Sets the collision cross section (SI units)
void density(double d)
Returns the trap density for the trap level.
void set_charge_sign(double new_sign)
double collision_cross_section() const
Returns the collision cross section (SI units)
double density() const
Returns the trap density for the trap level.
double charge_sign() const
double energy() const
Returns the trap energy in Joule (zero energy refers to the center of the band gap.
Provides the exceptions used in the main viennashe namespace.
A logging facility providing fine-grained control over logging in ViennaSHE.
double joule_to_eV(const double eps)
The main ViennaSHE namespace. All functionality resides inside this namespace.
std::ostream & operator<<(std::ostream &os, viennashe::trap_level const &rhs)
Convenience function for outputting a trap level.
Returns a few helper routines for computing physical quantities. To be replaced in the future.