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 81 : WaterData::WaterData(Lines line, 21 : PartitionTreatment t, 22 : Continuum c, 23 81 : double n) 24 : { 25 81 : 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 81 : std::unique_ptr<HITRAN_entry> we; 34 81 : switch (line) 35 : { 36 81 : case L183: 37 81 : we.reset(Mk183WaterEntry()); 38 81 : break; 39 0 : case L22: 40 0 : we.reset(Mk22WaterEntry()); 41 0 : break; 42 0 : default: 43 0 : break; 44 : }; 45 : 46 81 : if ( t == PartTable) 47 : { 48 81 : pt.reset(new PartitionTable( getH2ORawTable() ) ); 49 : 50 162 : _wcol.reset( new TrivialGrossColumn( *we, 51 81 : pt.get(), 52 81 : 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 81 : } 60 : 61 81 : if ( c == AirCont ) 62 : { 63 81 : _wcont.reset( new ContinuumColumn( n * pmw_mm_to_n, 64 81 : MkWaterGrossCont() ) ); 65 : } 66 81 : } 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 81 : WaterData::~WaterData() 78 : { 79 81 : } 80 : 81 : } 82 : 83 :