37 QuantumContainer::const_iterator qnr1it =
mqnumbers.begin();
38 QuantumContainer::const_iterator qnr2it;
42 while (match && qnr1it !=
mqnumbers.end())
44 qnr2it = qnumbers2.find(qnr1it->first);
48 if (qnr2it != qnumbers2.end()
49 && !(qnr1it->second).isUndefined()
50 && !(qnr2it->second).isUndefined()
51 && qnr1it->second != qnr2it->second)
68 #define INPUT_QUANTUM(ID) \ 69 if (name == #ID) qn.Set(QN_ ## ID, r) 83 std::ostringstream os;
84 os <<
"Unknown quantum number: " << name <<
" (" << r <<
").";
85 throw std::runtime_error(os.str());
97 #define OUTPUT_QUANTUM(ID) \ 98 if (!qn[QN_ ## ID].isUndefined()) \ 99 { if (!first) os << " "; first = false; os << #ID << " " << qn[QN_ ## ID]; } 112 #undef OUTPUT_QUANTUM 119 os <<
"Upper: " << qr.
Upper() <<
" ";
120 os <<
"Lower: " << qr.
Lower();
bool Compare(const QuantumNumbers &qn) const
Compare Quantum Numbers.
std::istream & operator>>(std::istream &is, QuantumNumbers &qn)
#define OUTPUT_QUANTUM(ID)
The implementation for String, the ARTS string class.
Rational Lower(Index i) const
Get lower quantum number.
Record containing upper and lower quantum numbers.
QuantumContainer mqnumbers
std::ostream & operator<<(std::ostream &os, const QuantumNumbers &qn)
Container class for Quantum Numbers.
const QuantumContainer & GetNumbers() const
#define INPUT_QUANTUM(ID)
Rational Upper(Index i) const
Get upper quantum number.
Classes to handle quantum numbers.
std::map< Index, Rational > QuantumContainer
This file contains the definition of String, the ARTS string class.