My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
Temperature.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_TEMPERATURE_H
2 #define GCP_UTIL_TEMPERATURE_H
3 
11 #include "gcp/util/common/ConformableQuantity.h"
12 #include "gcp/util/common/Unit.h"
13 
14 namespace gcp {
15  namespace util {
16 
18  public:
19 
20  class Kelvin : public Unit {
21  public:
22  void addNames();
23  };
24 
25  class Centigrade{};
26  class Celsius {};
27  class Fahrenheit{};
28 
32  Temperature();
33  Temperature(const Kelvin& units, double kelvins);
34  Temperature(const Centigrade& units, double centigrade);
35  Temperature(const Celsius& units, double celsius);
36  Temperature(const Fahrenheit& units, double fahrenheit);
37 
41  virtual ~Temperature();
42 
43  void setC(double centigrade);
44  void setF(double fahrenheit);
45  void setK(double kelvin);
46 
47  double C();
48  double F();
49  double K();
50 
51  static const double kelvinZeroPointInC_;
52 
53  void initialize();
54 
55  // Allows cout << Temperature
56 
57  friend std::ostream& operator<<(std::ostream& os, Temperature& temp);
58 
59  private:
60 
61  double centigrade_;
62 
63  }; // End class Temperature
64 
65  } // End namespace util
66 } // End namespace gcp
67 
68 
69 
70 #endif // End #ifndef GCP_UTIL_TEMPERATURE_H
Definition: Temperature.h:25
Definition: Temperature.h:17
Definition: ConformableQuantity.h:16
Definition: Unit.h:24
Definition: Temperature.h:20
Definition: Temperature.h:26
Temperature()
Definition: Temperature.cc:14
Definition: Temperature.h:27
virtual ~Temperature()
Definition: Temperature.cc:49