LCOV - code coverage report
Current view: top level - air_casawvr/src - layers.cc (source / functions) Hit Total Coverage
Test: casacpp_coverage.info Lines: 0 37 0.0 %
Date: 2024-11-06 17:42:47 Functions: 0 11 0.0 %

          Line data    Source code
       1             : /**
       2             :    \file layers.cpp
       3             :    Bojan Nikolic <bn204@mrao.cam.ac.uk>, <bojan@bnikolic.co.uk>
       4             :    Initial version February 2008
       5             :    Maintained by ESO since 2013.
       6             : 
       7             :    Renamed layers.cc 2023
       8             : 
       9             : */
      10             : 
      11             : #include "layers.h"
      12             : #include "slice.h"
      13             : 
      14             : namespace LibAIR2 {
      15             : 
      16           0 :   Layer::Layer(void)
      17             :   {
      18           0 :   }
      19             : 
      20           0 :   Layer::~Layer(void)
      21             :   {
      22           0 :   }
      23             : 
      24           0 :   void Layer::addSliceFar(pSlice_t s)
      25             :   {
      26           0 :     sliceL.push_front( s);
      27           0 :   }
      28             : 
      29           0 :   void Layer::AddColumn (const Column & c)
      30             :   {
      31           0 :     for (sliceL_t::iterator i=sliceL.begin();
      32           0 :          i!=sliceL.end();
      33             :          i++)
      34             :     {
      35           0 :       (*i)->AddColumn(c);
      36             :     }
      37           0 :   }
      38             : 
      39             :   Layer::sliceL_t::const_iterator 
      40           0 :   Layer::getFar(void) const
      41             :   {
      42           0 :     return sliceL.begin();
      43             :   }
      44             :   
      45             :   Layer::sliceL_t::const_iterator  
      46           0 :   Layer::getEnd(void) const
      47             :   {
      48           0 :     return sliceL.end();
      49             :   }
      50             : 
      51           0 :   const Slice & Layer::getNear(void) const
      52             :   {
      53           0 :     return  *sliceL.back();
      54             :   }
      55             : 
      56             :   const double IsoTLayer::slice_dP=5;
      57             : 
      58           0 :   IsoTLayer::IsoTLayer(double T, double PBase, double PDrop)
      59             :   {
      60           0 :     for ( double c=0; c <= PDrop ; c += slice_dP)
      61             :     {
      62             :       double f;
      63           0 :       if ( c + slice_dP <= PDrop)
      64           0 :         f=slice_dP/PDrop;
      65             :       else
      66           0 :         f=(PDrop-c)/PDrop;
      67             :            
      68           0 :       addSliceFar(pSlice_t(new Slice(T, 
      69             :                                      PBase-c,
      70           0 :                                      f)));
      71             :     }
      72           0 :   }
      73             : 
      74           0 :   void IsoTLayer::setT(double T)
      75             :   {
      76           0 :     for (sliceL_t::iterator i=sliceL.begin();
      77           0 :          i!=sliceL.end();
      78             :          i++)
      79             :     {
      80           0 :       (*i)->setT(T);
      81             :     }
      82           0 :   }
      83             : 
      84           0 :   void IsoTLayer::setP(double P)
      85             :   {
      86           0 :     for (sliceL_t::iterator i= sliceL.end();
      87           0 :          i!=sliceL.begin();
      88             :          i--)
      89             :     {
      90           0 :       const double newP= P - (sliceL.end()-i)* slice_dP;
      91           0 :       (*(i-1))->setP(newP);
      92             :     }
      93             : 
      94           0 :   }
      95             :   
      96             : 
      97             : 
      98             : 
      99             : }
     100             : 
     101             : 

Generated by: LCOV version 1.16