CARMA C++
PlanetTemperature.h
1 #ifndef CARMA_SERVICES_PLANET_TEMPERATURE_H
2 #define CARMA_SERVICES_PLANET_TEMPERATURE_H
3 
4 #include <vector>
5 #include <boost/shared_ptr.hpp>
6 
7 #include "carma/services/Astro.h"
9 #include "carma/services/Interpolator.h"
10 #include "carma/services/Table.h"
12 
13 
14 typedef boost::shared_ptr<carma::services::Interpolator> interp_ptr;
15 
16 namespace carma {
17  namespace services {
18 
19  class PlanetTemperature {
20  public:
21 
31  PlanetTemperature( const constants::Astro::planetType & ptype );
32 
33  virtual ~PlanetTemperature( );
34 
39  const Temperature brightnessTemperature( const double mjd,
40  const Frequency & freq);
41 
45  const Table getTable() const {return table_;}
46 
47  private:
48  void initialize( const constants::Astro::planetType & ptype );
49  // Table containing Tb data
50  Table table_;
51  // Interpolators for each column of Tb data, as
52  // a function of time.
53  ::std::vector<interp_ptr> timeInterp_;
54  // vector containing frequencies of input Tb data
55  ::std::vector<double> tbfreqs_;
56 
57  };
58 
59  } // services
60 } // carma
61 
62 
63 #endif //CARMA_SERVICES_PLANET_TEMPERATURE_H
Astronomical Constants used across CARMA.
carma/services/Frequency.h Representation of Frequency.
Common table functions.
carma/services/Temperature.h Representation of Temperature