ARTS  2.2.66
linerecord.h
Go to the documentation of this file.
1 /* Copyright (C) 2000-2013
2  Stefan Buehler <sbuehler@ltu.se>
3  Axel von Engeln <engeln@uni-bremen.de>
4 
5  This program is free software; you can redistribute it and/or modify it
6  under the terms of the GNU General Public License as published by the
7  Free Software Foundation; either version 2, or (at your option) any
8  later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
18  USA. */
19 
26 #ifndef linerecord_h
27 #define linerecord_h
28 
29 #include <stdexcept>
30 #include <cmath>
31 #include "messages.h"
32 #include "mystring.h"
33 #include "array.h"
34 #include "matpackI.h"
35 #include "quantum.h"
36 
37 /* Forward declaration of classes */
38 class SpeciesRecord;
39 class IsotopologueRecord;
40 
196 class LineRecord {
197 public:
198 
203  : mversion (3),
204  mspecies (1000000),
205  misotopologue (1000000),
206  mf (0. ),
207  mpsf (0. ),
208  mi0 (0. ),
209  mti0 (0. ),
210  melow (0. ),
211  magam (0. ),
212  msgam (0. ),
213  mnair (0. ),
214  mnself (0. ),
215  mtgam (0. ),
216  maux ( ),
217  mdf (-1. ),
218  mdi0 (-1. ),
219  mdagam (-1. ),
220  mdsgam (-1. ),
221  mdnair (-1. ),
222  mdnself (-1. ),
223  mdpsf (-1. ),
224  mupper_n (-1 ),
225  mupper_j (-1 ),
226  mlower_n (-1 ),
227  mlower_j (-1 ),
230  { /* Nothing to do here. */ }
231 
236  LineRecord( Index species,
237  Index isotopologue,
238  Numeric f,
239  Numeric psf,
240  Numeric i0,
241  Numeric ti0,
242  Numeric elow,
243  Numeric agam,
244  Numeric sgam,
245  Numeric nair,
246  Numeric nself,
247  Numeric tgam,
248  const ArrayOfNumeric& aux,
249  Numeric /* df */,
250  Numeric /* di0 */,
251  Numeric /* dagam */,
252  Numeric /* dsgam */,
253  Numeric /* dnair */,
254  Numeric /* dnself */,
255  Numeric /* dpsf */)
256  : mversion (3),
257  mspecies (species ),
258  misotopologue (isotopologue ),
259  mf (f ),
260  mpsf (psf ),
261  mi0 (i0 ),
262  mti0 (ti0 ),
263  melow (elow ),
264  magam (agam ),
265  msgam (sgam ),
266  mnair (nair ),
267  mnself (nself ),
268  mtgam (tgam ),
269  maux (aux ),
270  mdf (-1. ),
271  mdi0 (-1. ),
272  mdagam (-1. ),
273  mdsgam (-1. ),
274  mdnair (-1. ),
275  mdnself (-1. ),
276  mdpsf (-1. ),
277  mupper_n (-1 ),
278  mupper_j (-1 ),
279  mlower_n (-1 ),
280  mlower_j (-1 ),
283  {
284  // Thanks to Matpack, initialization of misotopologue with isotopologue
285  // should now work correctly.
286 
287  // Check if this species is legal, i.e., if species and isotopologue
288  // data exists.
290  //assert( mspecies < species_data.nelem() );
291  //assert( misotopologue < species_data[mspecies].Isotopologue().nelem() );
292  }
293 
295  String VersionString() const;
296 
298  Index Version() const { return mversion; }
299 
302  Index Species() const { return mspecies; }
303 
307  Index Isotopologue() const { return misotopologue; }
308 
312  String Name() const;
313 
323  const SpeciesRecord& SpeciesData() const;
324 
336  const IsotopologueRecord& IsotopologueData() const;
337 
339  Numeric F() const { return mf; }
340 
342  void setF( Numeric new_mf ) { mf = new_mf; }
343 
345  Numeric Psf() const { return mpsf; }
346 
348  void setPsf( Numeric new_mpsf ) { mpsf = new_mpsf; }
349 
362  Numeric I0() const { return mi0; }
363 
365  void setI0( Numeric new_mi0 ) { mi0 = new_mi0; }
366 
368  Numeric Ti0() const { return mti0; }
369 
371  Numeric Elow() const { return melow; }
372 
374  Numeric Agam() const { return magam; }
375 
377  void setAgam( Numeric new_agam ) { magam = new_agam; }
378 
380  Numeric Sgam() const { return msgam; }
381 
383  void setSgam( Numeric new_sgam ) { msgam = new_sgam; }
384 
386  Numeric Nair() const { return mnair; }
387 
389  void setNair( Numeric new_mnair ) { mnair = new_mnair; }
390 
392  Numeric Nself() const { return mnself; }
393 
395  void setNself( Numeric new_mnself ) { mnself = new_mnself; }
396 
398  Numeric Tgam() const { return mtgam; }
399 
405  Index Naux() const { return maux.nelem(); }
406 
408  const ArrayOfNumeric& Aux() const { return maux; }
409  //
410 
412  Numeric dF() const { return mdf; }
413 
415  Numeric dI0() const { return mdi0; }
416 
418  Numeric dAgam() const { return mdagam; }
419 
421  Numeric dSgam() const { return mdsgam; }
422 
424  Numeric dNair() const { return mdnair; }
425 
427  Numeric dNself() const { return mdnself; }
428 
430  Numeric dPsf() const { return mdpsf; }
431 
433  Numeric A() const { return ma; }
434 
436  Numeric G_upper() const { return mgupper; }
437 
439  Numeric G_lower() const { return mglower; }
440 
442  Numeric Gamma_foreign(const Index i) const { return mgamma_foreign[i]; }
443 
445  Numeric N_foreign(const Index i) const { return mn_foreign[i]; }
446 
448  Numeric Delta_foreign(const Index i) const { return mdelta_foreign[i]; }
449 
450 // /** Broadening parameter self in <b> Hz/Pa </b>: */
451 // Numeric Gamma_self() const { return mgamma_self; }
452 //
453 // /** Broadening parameter N2 in <b> Hz/Pa </b>: */
454 // Numeric Gamma_N2() const { return mgamma_n2; }
455 //
456 // /** Broadening parameter O2 in <b> Hz/Pa </b>: */
457 // Numeric Gamma_O2() const { return mgamma_o2; }
458 //
459 // /** Broadening parameter H2O in <b> Hz/Pa </b>: */
460 // Numeric Gamma_H2O() const { return mgamma_h2o; }
461 //
462 // /** Broadening parameter CO2 in <b> Hz/Pa </b>: */
463 // Numeric Gamma_CO2() const { return mgamma_co2; }
464 //
465 // /** Broadening parameter H2 in <b> Hz/Pa </b>: */
466 // Numeric Gamma_H2() const { return mgamma_h2; }
467 //
468 // /** Broadening parameter He in <b> Hz/Pa </b>: */
469 // Numeric Gamma_He() const { return mgamma_he; }
470 //
471 // /** GAM temp. exponent N self: */
472 // Numeric Gam_N_self() const { return mn_self; }
473 //
474 // /** GAM temp. exponent N N2: */
475 // Numeric Gam_N_N2() const { return mn_n2; }
476 //
477 // /** GAM temp. exponent N O2: */
478 // Numeric Gam_N_O2() const { return mn_o2; }
479 //
480 // /** GAM temp. exponent N H2O: */
481 // Numeric Gam_N_H2O() const { return mn_h2o; }
482 //
483 // /** GAM temp. exponent N CO2: */
484 // Numeric Gam_N_CO2() const { return mn_co2; }
485 //
486 // /** GAM temp. exponent N H2: */
487 // Numeric Gam_N_H2() const { return mn_h2; }
488 //
489 // /** GAM temp. exponent N He: */
490 // Numeric Gam_N_He() const { return mn_he; }
491 //
492 // /** F Pressure shift N2 in <b> Hz/Pa </b>: */
493 // Numeric Delta_N2() const { return mdelta_n2; }
494 //
495 // /** F Pressure shift O2 in <b> Hz/Pa </b>: */
496 // Numeric Delta_O2() const { return mdelta_o2; }
497 //
498 // /** F Pressure shift H2O in <b> Hz/Pa </b>: */
499 // Numeric Delta_H2O() const { return mdelta_h2o; }
500 //
501 // /** F Pressure shift CO2 in <b> Hz/Pa </b>: */
502 // Numeric Delta_CO2() const { return mdelta_co2; }
503 //
504 // /** F Pressure shift H2 in <b> Hz/Pa </b>: */
505 // Numeric Delta_H2() const { return mdelta_h2; }
506 //
507 // /** F Pressure shift He in <b> Hz/Pa </b>: */
508 // Numeric Delta_He() const { return mdelta_he; }
509 
511  const String& Upper_GQuanta() const { return mupper_gquanta; }
512 
514  const String& Lower_GQuanta() const { return mlower_gquanta; }
515 
517  const String& Upper_LQuanta() const { return mupper_lquanta; }
518 
520  const String& Lower_LQuanta() const { return mlower_lquanta; }
521 
523  Rational Upper_N() const { return mupper_n; }
524 
526  Rational Upper_J() const { return mupper_j; }
527 
529  Rational Lower_N() const { return mlower_n; }
530 
532  Rational Lower_J() const { return mlower_j; }
533 
536 
539 
540 
543  enum {
550  };
551 
554  static Index NBroadSpec() {return 6;}
555 
559  static String BroadSpecName(const Index i) {
560  switch (i) {
561  case BROAD_SPEC_POS_N2:
562  return "N2";
563  break;
564  case BROAD_SPEC_POS_O2:
565  return "O2";
566  break;
567  case BROAD_SPEC_POS_H2O:
568  return "H2O";
569  break;
570  case BROAD_SPEC_POS_CO2:
571  return "CO2";
572  break;
573  case BROAD_SPEC_POS_H2:
574  return "H2";
575  break;
576  case BROAD_SPEC_POS_He:
577  return "He";
578  break;
579  default:
580  assert(false); // We should never end up here.
581  return "";
582  break;
583  }
584  }
585 
590  static Index BroadSpecSpecIndex(const Index i);
591 
609  void ARTSCAT4FromARTSCAT3();
610 
613 
614  // Resize aux array to 0, not used in ARTSCAT-4:
615  maux.resize(0);
616 
617  // Set other parameters to NAN:
618  magam = NAN;
619  mnair = NAN;
620  mpsf = NAN;
621  mtgam = NAN;
622 
623  mdf = NAN;
624  mdi0 = NAN;
625  mdagam = NAN;
626  mdsgam = NAN;
627  mdnair = NAN;
628  mdnself = NAN;
629  mdpsf = NAN;
630  }
631 
691  bool ReadFromHitran2001Stream(istream& is, const Verbosity& verbosity);
692 
693 
694 
768  bool ReadFromHitran2004Stream(istream& is, const Verbosity& verbosity, const Numeric fmin=0);
769 
770 
771 
772 
841  bool ReadFromMytran2Stream(istream& is, const Verbosity& verbosity);
842 
843 
896  bool ReadFromJplStream(istream& is, const Verbosity& verbosity);
897 
919  bool ReadFromArtscat3Stream(istream& is, const Verbosity& verbosity);
920 
938  bool ReadFromArtscat4Stream(istream& is, const Verbosity& verbosity);
939 
940 private:
941  // Version number:
943  // Molecular species index:
945  // Isotopologue species index:
947  // The line center frequency in Hz:
949  // The pressure shift parameter in Hz/Pa:
951  // The line intensity in m^2/Hz:
953  // Reference temperature for I0 in K:
955  // Lower state energy in cm^-1:
957  // Air broadened width in Hz/Pa:
959  // Self broadened width in Hz/Pa:
961  // AGAM temperature exponent (dimensionless):
963  // SGAM temperature exponent (dimensionless):
965  // Reference temperature for AGAM and SGAM in K:
967  // Array to hold auxiliary parameters:
969  //
970  // Fields for the spectroscopic parameters accuracies
971  //
972  // Accuracy for line center frequency in Hz:
974  // Accuracy for line intensity in %:
976  // Accuracy for air broadened width in %:
978  // Accuracy for self broadened width in %:
980  // Accuracy for AGAM temperature exponent in %:
982  // Accuracy for SGAM temperature exponent in %:
984  // Accuracy for pressure shift in %:
986 
988 
989  // Einstein A-coefficient in 1/s:
991  // Upper state stat. weight:
993  // Lower state stat. weight:
995 
996  // Broadening parameter self in Hz/Pa:
997  // Numeric mgamma_self;
998  // Already in artscat-3 as msgam
999 
1000  // Array of foreign broadening parameters in Hz/Pa. Parameters for
1001  // individual species can be found using the enum defined in this class.
1003 
1004 // // Broadening parameter N2 in Hz/Pa:
1005 // Numeric mgamma_n2;
1006 // // Broadening parameter O2 in Hz/Pa:
1007 // Numeric mgamma_o2;
1008 // // Broadening parameter H2O in Hz/Pa:
1009 // Numeric mgamma_h2o;
1010 // // Broadening parameter CO2 in Hz/Pa:
1011 // Numeric mgamma_co2;
1012 // // Broadening parameter H2 in Hz/Pa:
1013 // Numeric mgamma_h2;
1014 // // Broadening parameter He in Hz/Pa:
1015 // Numeric mgamma_he;
1016 
1017  // GAM temp. exponent self:
1018  // Numeric mn_self;
1019  // Already in artscat-3 as msgam mnself
1020 
1021  // Array of foreign temp. exponents (dimensionless). Parameters for
1022  // individual species can be found using the enum defined in this class.
1024 
1025 // // GAM temp. exponent N2:
1026 // Numeric mn_n2;
1027 // // GAM temp. exponent O2:
1028 // Numeric mn_o2;
1029 // // GAM temp. exponent H2O:
1030 // Numeric mn_h2o;
1031 // // GAM temp. exponent CO2:
1032 // Numeric mn_co2;
1033 // // GAM temp. exponent H2:
1034 // Numeric mn_h2;
1035 // // GAM temp. exponent He:
1036 // Numeric mn_he;
1037 
1038  // Array of pressure shift parameters in Hz/Pa. Parameters for
1039  // individual species can be found using the enum defined in this class.
1041 
1042 // // F Pressure shift N2 in Hz/Pa:
1043 // Numeric mdelta_n2;
1044 // // F Pressure shift O2 in Hz/Pa:
1045 // Numeric mdelta_o2;
1046 // // F Pressure shift H2O in Hz/Pa:
1047 // Numeric mdelta_h2o;
1048 // // F Pressure shift CO2 in Hz/Pa:
1049 // Numeric mdelta_co2;
1050 // // F Pressure shift H2 in Hz/Pa:
1051 // Numeric mdelta_h2;
1052 // // F Pressure shift He in Hz/Pa:
1053 // Numeric mdelta_he;
1054 
1071 
1074 
1077 };
1078 
1083 ostream& operator<<(ostream& os, const LineRecord& lr);
1084 
1085 
1086 //======================================================================
1087 // Typedefs for LineRecord Arrays
1088 //======================================================================
1089 
1093 
1098 
1099 
1100 //======================================================================
1101 // Functions for searches inside the line catalog
1102 //======================================================================
1103 
1104 typedef enum {
1109 
1110 
1112 
1122 bool find_matching_lines(ArrayOfIndex& matches,
1123  const ArrayOfLineRecord& abs_lines,
1124  const Index species,
1125  const Index isotopologue,
1126  const QuantumNumberRecord qr,
1127  const LineMatchingCriteria match_criteria = LINE_MATCH_ALL);
1128 
1129 #endif // linerecord_h
Numeric Ti0() const
Reference temperature for I0 in K:
Definition: linerecord.h:368
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:35
const SpeciesRecord & SpeciesData() const
The matching SpeciesRecord from species_data.
Definition: linerecord.cc:50
Numeric mgupper
Definition: linerecord.h:992
Numeric N_foreign(const Index i) const
ARTSCAT-4 foreign temperature exponents (dimensionless):
Definition: linerecord.h:445
Index misotopologue
Definition: linerecord.h:946
Numeric dI0() const
Accuracy for line intensity in relative value :
Definition: linerecord.h:415
Index nelem() const
Number of elements.
Definition: array.h:176
Numeric mti0
Definition: linerecord.h:954
const String & Upper_LQuanta() const
Upper state local quanta.
Definition: linerecord.h:517
void setSgam(Numeric new_sgam)
Set Self broadened width in Hz/Pa:
Definition: linerecord.h:383
Declarations having to do with the four output streams.
bool ReadFromArtscat3Stream(istream &is, const Verbosity &verbosity)
Read one line from a stream associated with an ARTSCAT-3 file.
Definition: linerecord.cc:2064
Numeric Tgam() const
Reference temperature for AGAM and SGAM in K:
Definition: linerecord.h:398
The Vector class.
Definition: matpackI.h:556
Numeric Agam() const
Air broadened width in Hz/Pa:
Definition: linerecord.h:374
String mquantum_numbers_str
String with quantum numbers for ARTSCAT-4.
Definition: linerecord.h:1073
const IsotopologueRecord & IsotopologueData() const
The matching IsotopologueRecord from species_data.
Definition: linerecord.cc:57
void setAgam(Numeric new_agam)
Set Air broadened width in Hz/Pa:
Definition: linerecord.h:377
Numeric mnself
Definition: linerecord.h:964
ostream & operator<<(ostream &os, const LineRecord &lr)
Output operator for LineRecord.
Definition: linerecord.cc:2512
void setPsf(Numeric new_mpsf)
Set the pressure shift parameter in Hz/Pa.
Definition: linerecord.h:348
Vector mdelta_foreign
Definition: linerecord.h:1040
const String & QuantumNumbersString() const
String with quantum numbers.
Definition: linerecord.h:535
Numeric Elow() const
Lower state energy in cm^-1:
Definition: linerecord.h:371
ArrayOfNumeric maux
Definition: linerecord.h:968
Rational mupper_n
Upper state local N quanta.
Definition: linerecord.h:1064
QuantumNumberRecord mquantum_numbers
Quantum numbers from HITRAN.
Definition: linerecord.h:1076
const QuantumNumberRecord & QuantumNumbers() const
Quantum numbers.
Definition: linerecord.h:538
Numeric Psf() const
The pressure shift parameter in Hz/Pa.
Definition: linerecord.h:345
Numeric dF() const
Accuracy for line position in Hz :
Definition: linerecord.h:412
Numeric magam
Definition: linerecord.h:958
Numeric dNself() const
Accuracy for SGAM temperature exponent in relative value:
Definition: linerecord.h:427
Numeric mtgam
Definition: linerecord.h:966
This file contains the definition of Array.
Numeric G_upper() const
ARTSCAT-4 Upper state stat.
Definition: linerecord.h:436
String mlower_lquanta
Lower state local quanta.
Definition: linerecord.h:1062
Numeric Nself() const
SGAM temperature exponent (dimensionless):
Definition: linerecord.h:392
void ARTSCAT4FromARTSCAT3()
Converts line parameters from ARTSCAT-3 to ARTSCAT-4 format.
Definition: linerecord.cc:71
Rational Lower_N() const
Lower state local quanta N.
Definition: linerecord.h:529
Rational Upper_J() const
Upper state local quanta J.
Definition: linerecord.h:526
Record containing upper and lower quantum numbers.
Definition: quantum.h:93
Rational Lower_J() const
Lower state local quanta J.
Definition: linerecord.h:532
Numeric melow
Definition: linerecord.h:956
Index Version() const
Return the version number.
Definition: linerecord.h:298
Rational mupper_j
Upper state local J quanta.
Definition: linerecord.h:1066
String Name() const
The full name of the species and isotopologue.
Definition: linerecord.cc:42
LineRecord(Index species, Index isotopologue, Numeric f, Numeric psf, Numeric i0, Numeric ti0, Numeric elow, Numeric agam, Numeric sgam, Numeric nair, Numeric nself, Numeric tgam, const ArrayOfNumeric &aux, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric, Numeric)
Constructor that sets all data elements explicitly.
Definition: linerecord.h:236
void setNself(Numeric new_mnself)
Set SGAM temperature exponent (dimensionless):
Definition: linerecord.h:395
static String BroadSpecName(const Index i)
Return the name of an artscat-4 broadening species, as function of its broadening species index...
Definition: linerecord.h:559
String mupper_lquanta
Upper state local quanta.
Definition: linerecord.h:1060
Numeric Delta_foreign(const Index i) const
ARTSCAT-4 pressure shift parameters in Hz/Pa :
Definition: linerecord.h:448
Numeric mi0
Definition: linerecord.h:952
Contains the lookup data for one species.
Definition: absorption.h:367
LineMatchingCriteria
Definition: linerecord.h:1104
const String & Lower_LQuanta() const
Lower state local quanta.
Definition: linerecord.h:520
Index Isotopologue() const
The index of the isotopologue species that this line belongs to.
Definition: linerecord.h:307
Numeric A() const
ARTSCAT-4 Einstein A-coefficient in 1/s :
Definition: linerecord.h:433
String VersionString() const
Return the version String.
Definition: linerecord.cc:34
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:29
const String & Upper_GQuanta() const
Broadening parameter self in Hz/Pa :
Definition: linerecord.h:511
Numeric mpsf
Definition: linerecord.h:950
Rational mlower_j
Lower state local J quanta.
Definition: linerecord.h:1070
Index Naux() const
Number of auxiliary parameters.
Definition: linerecord.h:405
Rational Upper_N() const
Upper state local quanta N.
Definition: linerecord.h:523
bool ReadFromJplStream(istream &is, const Verbosity &verbosity)
Read one line from a stream associated with a JPL file.
Definition: linerecord.cc:1818
Numeric dSgam() const
Accuracy for self broadened width in relative value :
Definition: linerecord.h:421
String mupper_gquanta
Upper state global quanta.
Definition: linerecord.h:1056
Contains the lookup data for one isotopologue.
Definition: absorption.h:191
Numeric dAgam() const
Accuracy for air broadened width in relative value :
Definition: linerecord.h:418
Numeric Sgam() const
Self broadened width in Hz/Pa:
Definition: linerecord.h:380
LineRecord()
Default constructor.
Definition: linerecord.h:202
Numeric mf
Definition: linerecord.h:948
Array< Array< LineRecord > > ArrayOfArrayOfLineRecord
Holds a lists of spectral line data for each tag group.
Definition: linerecord.h:1097
bool ReadFromArtscat4Stream(istream &is, const Verbosity &verbosity)
Read one line from a stream associated with an ARTSCAT-4 file.
Definition: linerecord.cc:2259
Numeric ma
Definition: linerecord.h:990
Numeric mdnself
Definition: linerecord.h:983
Rational mlower_n
Lower state local N quanta.
Definition: linerecord.h:1068
void setNair(Numeric new_mnair)
Set AGAM temperature exponent (dimensionless):
Definition: linerecord.h:389
Index mspecies
Definition: linerecord.h:944
Vector mgamma_foreign
Definition: linerecord.h:1002
void ARTSCAT4UnusedToNaN()
Set to NaN all parameters that are not in ARTSCAT-4.
Definition: linerecord.h:612
Numeric mdsgam
Definition: linerecord.h:979
Numeric G_lower() const
ARTSCAT-4 Lower state stat.
Definition: linerecord.h:439
bool find_matching_lines(ArrayOfIndex &matches, const ArrayOfLineRecord &abs_lines, const Index species, const Index isotopologue, const QuantumNumberRecord qr, const LineMatchingCriteria match_criteria=LINE_MATCH_ALL)
Find lines matching the given criteria.
Definition: linerecord.cc:2631
static Index BroadSpecSpecIndex(const Index i)
Return the internal species index (index in species_data) of an artscat-4 broadening species...
Definition: linerecord.cc:64
Numeric mdf
Definition: linerecord.h:973
Numeric mdagam
Definition: linerecord.h:977
Array< LineRecord > ArrayOfLineRecord
Holds a list of spectral line data.
Definition: linerecord.h:1092
void setF(Numeric new_mf)
Set the line center frequency in Hz.
Definition: linerecord.h:342
Numeric mdnair
Definition: linerecord.h:981
String mlower_gquanta
Lower state global quanta.
Definition: linerecord.h:1058
const String & Lower_GQuanta() const
Lower state global quanta.
Definition: linerecord.h:514
Index Species() const
The index of the molecular species that this line belongs to.
Definition: linerecord.h:302
Numeric I0() const
The line intensity in m^2*Hz at the reference temperature Ti0.
Definition: linerecord.h:362
Numeric mglower
Definition: linerecord.h:994
const ArrayOfNumeric & Aux() const
Auxiliary parameters.
Definition: linerecord.h:408
void setI0(Numeric new_mi0)
Set Intensity.
Definition: linerecord.h:365
Numeric mdi0
Definition: linerecord.h:975
Classes to handle quantum numbers.
static Index NBroadSpec()
Return the number of artscat-4 foreign broadening species (6).
Definition: linerecord.h:554
Vector mn_foreign
Definition: linerecord.h:1023
Numeric msgam
Definition: linerecord.h:960
bool ReadFromHitran2004Stream(istream &is, const Verbosity &verbosity, const Numeric fmin=0)
Read one line from a stream associated with a HITRAN 2004 file.
Definition: linerecord.cc:558
bool ReadFromHitran2001Stream(istream &is, const Verbosity &verbosity)
Read one line from a stream associated with a HITRAN 1986-2001 file.
Definition: linerecord.cc:116
Numeric Gamma_foreign(const Index i) const
ARTSCAT-4 foreign broadening parameters in Hz/Pa :
Definition: linerecord.h:442
Numeric F() const
The line center frequency in Hz.
Definition: linerecord.h:339
Numeric mnair
Definition: linerecord.h:962
Index mversion
Definition: linerecord.h:942
Spectral line catalog data.
Definition: linerecord.h:196
bool ReadFromMytran2Stream(istream &is, const Verbosity &verbosity)
Read one line from a stream associated with a MYTRAN2 file.
Definition: linerecord.cc:1420
This file contains the definition of String, the ARTS string class.
Numeric dNair() const
Accuracy for AGAM temperature exponent in relative value :
Definition: linerecord.h:424
Numeric dPsf() const
Accuracy for pressure shift in relative value :
Definition: linerecord.h:430
Numeric mdpsf
Definition: linerecord.h:985
Numeric Nair() const
AGAM temperature exponent (dimensionless):
Definition: linerecord.h:386