ARTS
2.4.0(git:4fb77825)
|
Classes to handle quantum numbers. More...
#include "quantum.h"
#include <stdexcept>
#include "absorption.h"
#include "global_data.h"
#include "special_interp.h"
Go to the source code of this file.
Functions | |
bool | IsValidQuantumNumberName (String name) |
Check for valid quantum number name. More... | |
void | ThrowIfQuantumNumberNameInvalid (String name) |
Check for valid quantum number name and throws if it is invalid. More... | |
std::istream & | operator>> (std::istream &is, QuantumNumbers &qn) |
Input operator. More... | |
std::ostream & | operator<< (std::ostream &os, const QuantumNumbers &qn) |
Output operator. More... | |
std::ostream & | operator<< (std::ostream &os, const QuantumIdentifier &qi) |
Output operator. More... | |
std::ostream & | operator<< (std::ostream &os, QuantumNumberType t) |
Rational | interpret_stringdata (const QuantumNumberType key, const String &val) |
void | update_id (QuantumIdentifier &qid, const std::vector< std::array< String, 2 > > &upper_list, const std::vector< std::array< String, 2 > > &lower_list) |
Updates the quantum identifier based on a lists of strings. More... | |
Rational interpret_stringdata | ( | const QuantumNumberType | key, |
const String & | val | ||
) |
Definition at line 414 of file quantum.cc.
References RATIONAL_UNDEFINED.
Referenced by update_id().
bool IsValidQuantumNumberName | ( | String | name | ) |
Check for valid quantum number name.
[in] | name | Parameter |
Definition at line 164 of file quantum.cc.
References J, and string2quantumnumbertype().
Referenced by string2vecqn(), and ThrowIfQuantumNumberNameInvalid().
std::ostream& operator<< | ( | std::ostream & | os, |
const QuantumIdentifier & | qi | ||
) |
Output operator.
Definition at line 361 of file quantum.cc.
References QuantumIdentifier::ALL, QuantumIdentifier::ENERGY_LEVEL, QuantumIdentifier::ENERGY_LEVEL_INDEX, SpeciesRecord::Isotopologue(), QuantumIdentifier::Isotopologue(), SpeciesRecord::Name(), Array< base >::nelem(), QuantumIdentifier::NONE, QuantumIdentifier::QuantumMatch(), QuantumIdentifier::Species(), global_data::species_data, QuantumIdentifier::TRANSITION, QuantumIdentifier::TRANSITION_LOWER_INDEX, QuantumIdentifier::TRANSITION_UPPER_INDEX, and QuantumIdentifier::Type().
std::ostream& operator<< | ( | std::ostream & | os, |
const QuantumNumbers & | qn | ||
) |
Output operator.
Definition at line 187 of file quantum.cc.
References J, and quantumnumbertype2string().
std::ostream& operator<< | ( | std::ostream & | os, |
QuantumNumberType | t | ||
) |
Definition at line 409 of file quantum.cc.
References quantumnumbertype2string().
std::istream& operator>> | ( | std::istream & | is, |
QuantumNumbers & | qn | ||
) |
void ThrowIfQuantumNumberNameInvalid | ( | String | name | ) |
Check for valid quantum number name and throws if it is invalid.
[in] | name | Parameter |
Definition at line 168 of file quantum.cc.
References IsValidQuantumNumberName().
Referenced by QuantumIdentifier::SetFromString().
void update_id | ( | QuantumIdentifier & | qid, |
const std::vector< std::array< String, 2 > > & | upper_list, | ||
const std::vector< std::array< String, 2 > > & | lower_list | ||
) |
Updates the quantum identifier based on a lists of strings.
The input lists of strings should be paired as {key, value}
[in,out] | qid | Identifier to update |
[in] | upper_list | List of strings to update upper state |
[in] | lower_list | List of strings to update lower state |
Definition at line 435 of file quantum.cc.
References interpret_stringdata(), J, QuantumIdentifier::LowerQuantumNumber(), RATIONAL_UNDEFINED, string2quantumnumbertype(), and QuantumIdentifier::UpperQuantumNumber().