SEScalarEnergy.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 #include "cdm/properties/SEScalar.h"
6 
7 class CDM_DECL EnergyUnit : public CCompoundUnit
8 {
9 public:
10  EnergyUnit(const std::string& u) : CCompoundUnit(u) {}
11  virtual ~EnergyUnit() {}
12 
13  // Please use static units below
14  EnergyUnit(const EnergyUnit&) = delete;
15  EnergyUnit& operator= (const EnergyUnit&) = delete;
16 
17  static bool IsValidUnit(const std::string& unit);
18  static const EnergyUnit& GetCompoundUnit(const std::string& unit);
19 
20  static const EnergyUnit J;
21  static const EnergyUnit mJ;
22  static const EnergyUnit kJ;
23  static const EnergyUnit kcal;
24 };
25 
26 class CDM_DECL SEScalarEnergy : public SEScalarQuantity<EnergyUnit>
27 {
28 public:
30  virtual ~SEScalarEnergy() {}
31 };
Definition: CompoundUnit.h:40
CCompoundUnit & operator=(const CCompoundUnit &rhs)
Definition: CompoundUnit.h:132
Definition: SEScalarEnergy.h:8
virtual ~EnergyUnit()
Definition: SEScalarEnergy.h:11
static const EnergyUnit kcal
Definition: SEScalarEnergy.h:23
static const EnergyUnit kJ
Definition: SEScalarEnergy.h:22
static const EnergyUnit mJ
Definition: SEScalarEnergy.h:21
EnergyUnit(const std::string &u)
Definition: SEScalarEnergy.h:10
static const EnergyUnit J
Definition: SEScalarEnergy.h:20
EnergyUnit(const EnergyUnit &)=delete
Definition: SEScalarEnergy.h:27
virtual ~SEScalarEnergy()
Definition: SEScalarEnergy.h:30
SEScalarEnergy()
Definition: SEScalarEnergy.h:29
Definition: SEScalar.h:208

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.