CARMA C++
Tsys.h
Go to the documentation of this file.
1 #ifndef CARMA_PIPELINE_TSYS_H
2 #define CARMA_PIPELINE_TSYS_H
3 
4 #include "carma/monitor/AntennaCommon.h"
5 #include "carma/util/Time.h"
6 
7 #include <boost/shared_ptr.hpp>
8 #include <iostream>
9 
10 namespace carma {
11 
12  namespace pipeline {
13 
20  class Tsys {
21  public:
22 
26  explicit Tsys( );
27 
31  Tsys( const Tsys & other );
32 
36  /* virtual */ ~Tsys( );
37 
41  bool valid( ) const;
42 
46  void invalidate( );
47 
51  double getTsysDsb( ) const;
52 
56  double getTsysUsb( ) const;
57 
61  double getTsysLsb( ) const;
62 
69  void setReceiverSidebandRatio( double sbr );
70 
77  void setAtmosphericOpacity( double tauLSB,
78  double tauUSB );
79 
86  void setLoadTemperature( double calTemp );
87 
94  void setOutsideAmbientTemperature( double ambTemp );
95 
101  void setAtmosphericTemperature( double atmosphericTemp );
102 
106  void setGroundOpacity( double opacity );
107 
114  void setTotalPower(
115  carma::monitor::AntennaCommon::CalStateMonitorPointEnum::CALSTATE calState,
116  double totalPower,
117  carma::util::frameType frame );
118 
123  void setJanskysPerKelvin( double jyPerK );
124 
129  double getJyPerK( ) const;
130 
134  void calculateTsys( );
135 
140  double getEffectiveTcal( ) const;
141 
146  double getAmbPsysdBm( ) const;
147 
151  ::std::string getDetails( ) const;
152 
153  private:
154 
155  struct TsysInfo; // Hide the many details
156  ::boost::shared_ptr< TsysInfo > info_;
157 
158  }; // End class Tsys
159  } // End namespace pipeline
160 } // End namespace carma
161 #endif
Common time functions.
void setLoadTemperature(double calTemp)
Set the effective load temperature.
::std::string getDetails() const
String of all calibration calculation information.
double getTsysUsb() const
Retrieve upper sideband system temperature.
void setReceiverSidebandRatio(double sbr)
Set receiver sideband ratio.
unsigned int frameType
Half second frames since Jan 1, 2000.
Definition: types.h:29
void setOutsideAmbientTemperature(double ambTemp)
Set outside ambient temperature.
void setAtmosphericTemperature(double atmosphericTemp)
Set atmospheric temperature.
Tsys()
Default Constructor.
double getTsysDsb() const
Retrieve double sideband system temperature.
double getEffectiveTcal() const
Retrieve effective calibration temperature.
~Tsys()
Destructor.
void setAtmosphericOpacity(double tauLSB, double tauUSB)
Set atmospheric opacity.
void setTotalPower(carma::monitor::AntennaCommon::CalStateMonitorPointEnum::CALSTATE calState, double totalPower, carma::util::frameType frame)
Set total power data for specified load state.
double getTsysLsb() const
Retrieve lower sideband system temperature.
bool valid() const
Is Tsys Valid?
void calculateTsys()
Calculate tsys.
void invalidate()
Invalid tsys until the next complete ambient/sky cycle.
double getAmbPsysdBm() const
Retrieve ambient load psys.
double getJyPerK() const
Retrieve janskys per kelvin for flux calibration.
Class to calculate, store and update tsys and associated parameters.
Definition: Tsys.h:20
void setJanskysPerKelvin(double jyPerK)
Set Janskys per Kelvin for flux calibration.
void setGroundOpacity(double opacity)
Set effective opacity for ground spillover losses.