LCOV - code coverage report
Current view: top level - air_casawvr/src - model_make.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 6 30 20.0 %
Date: 2024-12-11 20:54:31 Functions: 1 5 20.0 %

          Line data    Source code
       1             : // Bojan Nikolic <b.nikolic@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk>
       2             : // Initial version July 2009
       3             : // Maintained by ESO since 2013.
       4             : 
       5             : /** \file model_make.cpp
       6             : 
       7             :     Renamed model_make.cc 2023
       8             : 
       9             :  */
      10             : 
      11             : #include "model_make.h"
      12             : #include "model_water.h"
      13             : #include "singlelayerwater.h"
      14             : #include "models_basic.h"
      15             : #include "slice.h"
      16             : #include "layers.h"
      17             : #include "rtranfer.h"
      18             : #include "radiometermeasure.h"
      19             : 
      20             : namespace LibAIR2 {
      21             : 
      22             :   LibAIR2::WaterModel<ISingleLayerWater> *
      23           0 :   mkSingleLayerWater(RadiometerT radiot, 
      24             :                      PartitionTreatment t,
      25             :                      Continuum c,
      26             :                      double PDrop)
      27             :   {
      28           0 :     std::shared_ptr<Radiometer> r(SwitchRadiometer(radiot));
      29             : 
      30           0 :     std::shared_ptr<ISingleLayerWater> sl(new ISingleLayerWater (r->getFGrid(),
      31             :                                                                  WaterData::L183,
      32             :                                                                  t,
      33             :                                                                  c,
      34           0 :                                                                  PDrop));
      35             :     return new LibAIR2::WaterModel<ISingleLayerWater> (r,
      36           0 :                                                        sl);
      37             :     
      38           0 :   }
      39             : 
      40             :   LibAIR2::WaterModel<ISingleLayerWater> *
      41          81 :   mkSingleLayerWater(const ALMAWVRCharacter &ac, 
      42             :                      PartitionTreatment t,
      43             :                      Continuum c,
      44             :                      double PDrop)
      45             :   {
      46          81 :     std::shared_ptr<Radiometer> r(MkALMAWVR(ac));
      47             : 
      48          81 :     std::shared_ptr<ISingleLayerWater> sl(new ISingleLayerWater (r->getFGrid(),
      49             :                                                                  WaterData::L183,
      50             :                                                                  t,
      51             :                                                                  c,
      52          81 :                                                                  PDrop));
      53             :     return new LibAIR2::WaterModel<ISingleLayerWater> (r,
      54         162 :                                                        sl);
      55             : 
      56          81 :   }
      57             : 
      58             :   LibAIR2::WaterModel<ISingleLayerWater> *
      59           0 :   mkSimpleOffset(double cf,
      60             :                  double bw)
      61             :   {
      62           0 :     std::shared_ptr<Radiometer> r(MkALMAWVR_offset(cf,bw));
      63             : 
      64           0 :     std::shared_ptr<ISingleLayerWater> sl(new ISingleLayerWater (r->getFGrid(),
      65             :                                                                  WaterData::L183,
      66             :                                                                  PartTable,
      67             :                                                                  AirCont,
      68           0 :                                                                  0));
      69             :     return new LibAIR2::WaterModel<ISingleLayerWater> (r,
      70           0 :                                                        sl);
      71             : 
      72           0 :   }
      73             : 
      74             :   LibAIR2::WaterModel<ICloudyWater> *
      75           0 :   mkCloudy(RadiometerT radiot, 
      76             :            PartitionTreatment t,
      77             :            Continuum c,
      78             :            double PDrop)
      79             :   {
      80           0 :     std::shared_ptr<Radiometer> r(SwitchRadiometer(radiot));
      81             : 
      82           0 :     std::shared_ptr<ICloudyWater> sl(new ICloudyWater (r->getFGrid(),
      83             :                                                        WaterData::L183,
      84             :                                                        t,
      85             :                                                        c,
      86           0 :                                                        PDrop));
      87             :     return new LibAIR2::WaterModel<ICloudyWater> (r,
      88           0 :                                                   sl);
      89             : 
      90           0 :   }
      91             : 
      92             :   LibAIR2::WaterModel<ICloudyWater> *
      93           0 :   mkCloudy(const ALMAWVRCharacter &ac, 
      94             :            PartitionTreatment t,
      95             :            Continuum c,
      96             :            double PDrop)
      97             :   {
      98           0 :     std::shared_ptr<Radiometer> r(MkALMAWVR(ac));
      99             : 
     100           0 :     std::shared_ptr<ICloudyWater> sl(new ICloudyWater (r->getFGrid(),
     101             :                                                        WaterData::L183,
     102             :                                                        t,
     103             :                                                        c,
     104           0 :                                                        PDrop));
     105             :     return new LibAIR2::WaterModel<ICloudyWater> (r,
     106           0 :                                                   sl);
     107             : 
     108           0 :   }
     109             :   
     110             : 
     111             : }
     112             : 
     113             : 
     114             : 

Generated by: LCOV version 1.16