00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "QCParameter.hpp"
00021 #include "QCTable.hpp"
00022
00023
00027 const string QCParameter::IDENTIFIER ("identificator");
00028 const string QCParameter::MASS ("mass");
00029 const string QCParameter::ATOMIC_NUMBER ("atomic number");
00030 const string QCParameter::CORE_NUCLEAR_CHARGE ("core nuclear charge");
00031 const string QCParameter::NB_VALENCE_ATOMIC_ORBITALS ("nb valence atomic orbitals");
00032 const string QCParameter::PRINCIPAL_QUANTUM_NUMBER ("principal quantum number");
00033
00034
00035
00036
00040 QCParameter::QCParameter (void) :
00041 identifier(0),
00042 atomicNbZ(0),
00043 coreCharge(0),
00044 nbAO(0),
00045 mass(0e0),
00046 quantumNumberN(0)
00047 {
00048 }
00049
00050
00051
00055 void
00056 QCParameter::readSetOfParameters (QCReader *reader) {
00057 string id;
00058 reader->readLiteralAndVal(IDENTIFIER, id);
00059 identifier = table[id];
00060 reader->readLiteralAndVal(ATOMIC_NUMBER, atomicNbZ);
00061 reader->readLiteralAndVal(MASS, mass);
00062 reader->readLiteralAndVal(CORE_NUCLEAR_CHARGE, coreCharge);
00063 reader->readLiteralAndVal(NB_VALENCE_ATOMIC_ORBITALS, nbAO);
00064 reader->readLiteralAndVal(PRINCIPAL_QUANTUM_NUMBER, quantumNumberN);
00065 }
00066
00067
00068
00072 ostream&
00073 operator << (ostream& out, const QCParameter& param) {
00074
00075 out << " * Identifier: " << table[param.getIdentifier()]
00076 << "\n * AtomicNbZ: " << param.getAtomicNbZ()
00077 << "\n * CoreCharge: " << param.getCoreCharge()
00078 << "\n * NbAO: " << param.getNbAO()
00079 << "\n * Mass: " << param.getMass()
00080 << "\n * QuantumNumberN: " << param.getQuantumNumberN()
00081 << endl;
00082
00083 return out;
00084 }