68 GEnergy(
const double& eng,
const std::string& unit);
77 void operator()(
const double& eng,
const std::string& unit);
78 double operator()(
const std::string& unit)
const;
84 double erg(
void)
const;
85 double eV(
void)
const;
86 double keV(
void)
const;
87 double MeV(
void)
const;
88 double GeV(
void)
const;
89 double TeV(
void)
const;
97 double log10(
const std::string& unit)
const;
98 void erg(
const double& eng);
99 void eV(
const double& eng);
100 void keV(
const double& eng);
101 void MeV(
const double& eng);
102 void GeV(
const double& eng);
103 void TeV(
const double& eng);
104 void Angstrom(
const double& wavelength);
106 void log10eV(
const double& eng);
111 void log10(
const double& eng,
const std::string& unit);
Definition of interface for all GammaLib classes.
bool operator>(const GEnergy &a, const GEnergy &b)
Energy larger than operator friend.
bool operator<=(const GEnergy &a, const GEnergy &b)
Energy smaller than or equal to operator friend.
GEnergy operator+(const GEnergy &a, const GEnergy &b)
Energy addition operator friend.
GEnergy operator*(const double &a, const GEnergy &b)
Energy multiplication operator friend.
bool operator!=(const GEnergy &a, const GEnergy &b)
Energy non-equality operator friend.
GEnergy operator/(const GEnergy &a, const double &b)
Energy division operator friend.
bool operator<(const GEnergy &a, const GEnergy &b)
Energy smaller than operator friend.
bool operator>=(const GEnergy &a, const GEnergy &b)
Energy larger than or equal to operator friend.
bool operator==(const GEnergy &a, const GEnergy &b)
Energy equality operator friend.
GEnergy operator-(const GEnergy &a, const GEnergy &b)
Energy subtraction operator friend.
Interface class for all GammaLib classes.
Class that handles energies in a unit independent way.
friend bool operator>(const GEnergy &a, const GEnergy &b)
Energy larger than operator friend.
double log10(const std::string &unit) const
Set log10 of energy with unit specification.
double GeV(void) const
Return energy in GeV.
double Angstrom(void) const
Return energy as wavelength in Angstrom.
double m_energy
Energy in MeV.
double keV(void) const
Return energy in keV.
void operator()(const double &eng, const std::string &unit)
Unit set operator.
friend bool operator<=(const GEnergy &a, const GEnergy &b)
Energy smaller than or equal to operator friend.
friend GEnergy operator+(const GEnergy &a, const GEnergy &b)
Energy addition operator friend.
GEnergy & operator/=(const double &scale)
Energy unary division operator.
friend GEnergy operator*(const double &a, const GEnergy &b)
Energy multiplication operator friend.
double log10TeV(void) const
Return log10 of energy in TeV.
double log10GeV(void) const
Return log10 of energy in GeV.
double MeV(void) const
Return energy in MeV.
double log10MeV(void) const
Return log10 of energy in MeV.
void free_members(void)
Delete class members.
GEnergy & operator+=(const GEnergy &eng)
Energy unary addition operator.
GEnergy(void)
Void constructor.
friend bool operator!=(const GEnergy &a, const GEnergy &b)
Energy non-equality operator friend.
void copy_members(const GEnergy &eng)
Copy class members.
std::string print(const GChatter &chatter=NORMAL) const
Print energy.
friend GEnergy operator/(const GEnergy &a, const double &b)
Energy division operator friend.
double log10keV(void) const
Return log10 of energy in keV.
GEnergy & operator=(const GEnergy &eng)
Assignment operator.
GEnergy & operator*=(const double &scale)
Energy unary multiplication operator.
void clear(void)
Clear instance.
double TeV(void) const
Return energy in TeV.
std::string classname(void) const
Return class name.
friend bool operator<(const GEnergy &a, const GEnergy &b)
Energy smaller than operator friend.
double erg(void) const
Return energy in erg.
friend bool operator>=(const GEnergy &a, const GEnergy &b)
Energy larger than or equal to operator friend.
double log10erg(void) const
Return log10 of energy in erg.
friend bool operator==(const GEnergy &a, const GEnergy &b)
Energy equality operator friend.
void init_members(void)
Initialise class members.
GEnergy & operator-=(const GEnergy &eng)
Energy unary differnce operator.
virtual ~GEnergy(void)
Destructor.
double log10eV(void) const
Return log10 of energy in eV.
bool m_has_log10
log10 of energy is valid
GEnergy * clone(void) const
Clone object.
friend GEnergy operator-(const GEnergy &a, const GEnergy &b)
Energy subtraction operator friend.
double m_elog10
log10 of energy in MeV
double eV(void) const
Return energy in eV.