Line data Source code
1 : /** 2 : \file columns_data.cpp 3 : Bojan Nikolic <b.nikolic@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk> 4 : 5 : Renamed columns_data.cc 2023 6 : 7 : */ 8 : 9 : #include "columns_data.h" 10 : 11 : #include "columns.h" 12 : #include "lineparams.h" 13 : #include "partitionsum.h" 14 : #include "partitionsum_testdata.h" 15 : #include "basicphys.h" 16 : 17 : namespace LibAIR2 { 18 : 19 : 20 0 : WaterData::WaterData(Lines line, 21 : PartitionTreatment t, 22 : Continuum c, 23 0 : double n) 24 : { 25 0 : if (line==LALL) 26 : { 27 0 : pt.reset(new PartitionTable(getH2ORawTable())); 28 0 : _wcol.reset(new H2OCol(pt.get())); 29 0 : _wcol->setN(n*pmw_mm_to_n); 30 : } 31 : else 32 : { 33 0 : std::unique_ptr<HITRAN_entry> we; 34 0 : switch (line) 35 : { 36 0 : case L183: 37 0 : we.reset(Mk183WaterEntry()); 38 0 : break; 39 0 : case L22: 40 0 : we.reset(Mk22WaterEntry()); 41 0 : break; 42 0 : default: 43 0 : break; 44 : }; 45 : 46 0 : if ( t == PartTable) 47 : { 48 0 : pt.reset(new PartitionTable( getH2ORawTable() ) ); 49 : 50 0 : _wcol.reset( new TrivialGrossColumn( *we, 51 0 : pt.get(), 52 0 : n * pmw_mm_to_n )); 53 : } 54 : else 55 : { 56 0 : _wcol.reset( new TrivialGrossColumn( *we, 57 0 : n * pmw_mm_to_n )); 58 : } 59 0 : } 60 : 61 0 : if ( c == AirCont ) 62 : { 63 0 : _wcont.reset( new ContinuumColumn( n * pmw_mm_to_n, 64 0 : MkWaterGrossCont() ) ); 65 : } 66 0 : } 67 : 68 0 : Water183Data::Water183Data(PartitionTreatment t, 69 : Continuum c, 70 0 : double n): 71 : WaterData(L183, 72 0 : t,c,n) 73 : 74 : { 75 0 : } 76 : 77 0 : WaterData::~WaterData() 78 : { 79 0 : } 80 : 81 : } 82 : 83 :