// bytran -|- spectral calculations for portable devices using the HITRAN database
//
// Developed by Dzianis Pliutau (Denis Plutov) and Kostya Roslyakov
// www.bytran.org | bytran@bytran.org
// Copyright (c) 2016 Dzianis Pliutau
// Distributed under the MIT license
//
// The MIT License (MIT)
// Copyright (c) 2016 Dzianis Pliutau
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
// is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



// Object containing one data line from the HITRAN database
#include "hitranonerec.h"

HitranOneRec::HitranOneRec()
{

}

// Molecule number
int HitranOneRec::getMolNum() { return this->molNum; }
void HitranOneRec::setMolNum(int newMolNum) { this->molNum = newMolNum; }

// Isotopologue number
int HitranOneRec::getIsoNum() { return this->isoNum; }
void HitranOneRec::setIsoNum(int newIsoNum) { this->isoNum = newIsoNum; }

// Vacuum wavenumber (cm-1)
double HitranOneRec::getWn() { return this->wn; }
void HitranOneRec::setWn(double newWn) { this->wn = newWn; }

// Line intensity (cm-1 / (molecule * cm^-2) at standard 296K)
double HitranOneRec::getIntens() { return this->intens; }
void HitranOneRec::setIntens(double newIntens) { this->intens = newIntens; }

// Weighted square of the transition moment (Debye^2) for an electric dipole transition
double HitranOneRec::getR() { return this->R; }
void HitranOneRec::setR(double newR) { this->R = newR; }

// Einstein A-coefficient (S^-1)
double HitranOneRec::getA() { return this->A; }
void HitranOneRec::setA(double newA) { this->A = newA; }

// Air-broadening half-width
double HitranOneRec::getAirHw() { return this->airHw; }
void HitranOneRec::setAirHw(double newAirHw) { this->airHw = newAirHw; }

// Self-broadening half-width
double HitranOneRec::getSelfHw() { return this->selfHw; }
void HitranOneRec::setSelfHw(double newSelfHw) { this->selfHw = newSelfHw; }

// Lower state energy (cm-1)
double HitranOneRec::getLowE() { return this->lowE; }
void HitranOneRec::setLowE(double newLowE) { this->lowE = newLowE; }

// Temperature dependence exponent
double HitranOneRec::getNAir() { return this->nAir; }
void HitranOneRec::setNAir(double newNAir) { this->nAir = newNAir; }

// Air pressure shift (cm^-1 * atm^-1) at 296K
double HitranOneRec::getAirPShift() { return this->airPShift; }
void HitranOneRec::setAirPShift(double newAirPShift) { this->airPShift = newAirPShift; }

// Upper state global quanta
QString HitranOneRec::getUpperV() { return this->upperV; }
void HitranOneRec::setUpperV(QString newUpperV) { this->upperV = newUpperV; }

// Lower state global quanta
QString HitranOneRec::getLowerV() { return this->lowerV; }
void HitranOneRec::setLowerV(QString newLowerV) { this->lowerV = newLowerV; }

// Upper state local quanta
QString HitranOneRec::getUpperQ() { return this->upperQ; }
void HitranOneRec::setUpperQ(QString newUpperQ) { this->upperQ = newUpperQ; }

// Lower state local quanta
QString HitranOneRec::getLowerQ() { return this->lowerQ; }
void HitranOneRec::setLowerQ(QString newLowerQ) { this->lowerQ = newLowerQ; }

// Wavenumber uncertainty index
int HitranOneRec::getIntUncWn() { return this->intUncWn; }
void HitranOneRec::setIntUncWn(int newIntUncWn) { this->intUncWn = newIntUncWn; }

// Intensity uncertainty index
int HitranOneRec::getIntUncIntens() { return this->intUncIntens; }
void HitranOneRec::setIntUncIntens(int newIntUncIntens) { this->intUncIntens = newIntUncIntens; }

// Air-broadening half-width uncertainty index
int HitranOneRec::getIntUncAirHw() { return this->intUncAirHw; }
void HitranOneRec::setIntUncAirHw(int newIntUncAirHw) { this->intUncAirHw = newIntUncAirHw; }

// Self-broadening half-width uncertainty index
int HitranOneRec::getIntUncSelfHw() { return this->intUncSelfHw; }
void HitranOneRec::setIntUncSelfHw(int newIntUncSelfHw) { this->intUncSelfHw = newIntUncSelfHw; }

// Temperature dependent exponent uncertainty index
int HitranOneRec::getIntUncNAir() { return this->intUncNAir; }
void HitranOneRec::setIntUncNAir(int newIntUncNAir) { this->intUncNAir = newIntUncNAir; }

// Air-pressure shift uncertainty index
int HitranOneRec::getIntUncAirPShift() { return this->intUncAirPShift; }
void HitranOneRec::setIntUncAirPShift(int newIntUncAirPShift) { this->intUncAirPShift = newIntUncAirPShift; }

// Wavenumber uncertainty value
double HitranOneRec::getDblUncWn() { return this->dblUncWn; }
void HitranOneRec::setDblUncWn(double newDblUncWn) { this->dblUncWn = newDblUncWn; }

// Intensity uncertainty value
double HitranOneRec::getDblUncIntens() { return this->dblUncIntens; }
void HitranOneRec::setDblUncIntens(double newDblUncIntens) { this->dblUncIntens = newDblUncIntens; }

// Air-broadening half-width uncertainty value
double HitranOneRec::getDblUncAirHw() { return this->dblUncAirHw; }
void HitranOneRec::setDblUncAirHw(double newDblUncAirHw) { this->dblUncAirHw = newDblUncAirHw; }

// Self-broadening half-width uncertainty value
double HitranOneRec::getDblUncSelfHw() { return this->dblUncSelfHw; }
void HitranOneRec::setDblUncSelfHw(double newDblUncSelfHw) { this->dblUncSelfHw = newDblUncSelfHw; }

// Temperature dependent exponent uncertainty value
double HitranOneRec::getDblUncNAir() { return this->dblUncNAir; }
void HitranOneRec::setDblUncNAir(double newDblUncNAir) { this->dblUncNAir = newDblUncNAir; }

// Air-pressure shift uncertainty value
double HitranOneRec::getDblUncAirPShift() { return this->dblUncAirPShift; }
void HitranOneRec::setDblUncAirPShift(double newDblUncAirPShift) { this->dblUncAirPShift = newDblUncAirPShift; }

// Wavenumber uncertainty reference article number
int HitranOneRec::getRefWn() { return this->refWn; }
void HitranOneRec::setRefWn(int newRefWn) { this->refWn = newRefWn; }

// Intensity uncertainty reference article number
int HitranOneRec::getRefIntens() { return this->refIntens; }
void HitranOneRec::setRefIntens(int newRefWn) { this->refIntens = newRefWn; }

// Air-broadening half-width uncertainty reference article number
int HitranOneRec::getRefAirHw() { return this->refAirHw; }
void HitranOneRec::setRefAirHw(int newRefAirHw) { this->refAirHw = newRefAirHw; }

// Self-broadening half-width uncertainty reference article number
int HitranOneRec::getRefSelfHw() { return this->refSelfHw; }
void HitranOneRec::setRefSelfHw(int newREfSelfHw) { this->refSelfHw = newREfSelfHw; }

// Temperature dependent exponent uncertainty reference article number
int HitranOneRec::getRefNAir() { return this->refNAir; }
void HitranOneRec::setRefNAir(int newRefNAir) { this->refNAir = newRefNAir; }

// Air-pressure shift uncertainty reference article number
int HitranOneRec::getRefAirPShift() { return this->refAirPShift; }
void HitranOneRec::setRefAirPShift(int newRefAirPShift) { this->refAirPShift = newRefAirPShift; }

   // Availablility of programs and data for the case of line-mixing
QString HitranOneRec::getLMix() { return this->lMix; }
void HitranOneRec::setLMix(QString newLMix) { this->lMix = newLMix; }

// Statistical weight of the upper state
double HitranOneRec::getGUpper() { return this->gUpper; }
void HitranOneRec::setGUpper(double newGUpper) { this->gUpper = newGUpper; }

  // Statistical weight of the lower state
double HitranOneRec::getGLower() { return this->gLower; }
void HitranOneRec::setGLower(double newGLower) { this->gLower = newGLower; }
