Line data Source code
1 : /** 2 : \file models_basic.cpp 3 : Bojan Nikolic <b.nikolic@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk> 4 : 5 : Initial version February 2008 6 : Revised 2009 7 : Maintained by ESO since 2013. 8 : 9 : Renamed models_basic.cc 2023 10 : 11 : */ 12 : 13 : #include <stdexcept> 14 : 15 : #include "models_basic.h" 16 : 17 : #include "radiometermeasure.h" 18 : #include "slice.h" 19 : #include "columns.h" 20 : #include "lineparams.h" 21 : #include "basicphys.h" 22 : #include "partitionsum.h" 23 : #include "partitionsum_testdata.h" 24 : #include "rtranfer.h" 25 : #include "layers.h" 26 : 27 : namespace LibAIR2 { 28 : 29 0 : std::shared_ptr<Radiometer> SwitchRadiometer(RadiometerT r) 30 : { 31 : Radiometer *res; 32 0 : switch (r) 33 : { 34 0 : case ALMAProd: 35 0 : res=MkFullALMAWVR(); 36 0 : break; 37 0 : case ALMADickeProto: 38 0 : res=MkFullDickeProtoWVR(); 39 0 : break; 40 0 : case IRAM22GHz: 41 0 : res=MkIRAM22(); 42 0 : break; 43 0 : default: 44 0 : throw std::runtime_error("Unknown radiometer type"); 45 : } 46 0 : return std::shared_ptr<Radiometer>(res); 47 : } 48 : } 49 : 50 :