Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

LuminousIntensity.h

Go to the documentation of this file.
00001 
00007 /* Copyright (C) 2002-2004, Bernd Speiser */
00008 
00009 /* This file is part of Quantities.
00010 
00011 PhysicalQuantities is free software; you can redistribute it and/or
00012 modify it under the terms of the GNU General Public License
00013 as published by the Free Software Foundation; either version 2
00014 of the License, or (at your option) any later version.
00015 
00016 PhysicalQuantities is distributed in the hope that it will be useful,
00017 but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019 GNU General Public License for more details.
00020   
00021 You should have received a copy of the GNU General Public License
00022 along with this program; if not, write to the Free Software
00023 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
00024 02111-1307, USA.
00025 */
00026 
00027 #ifndef _LuminousIntensity_h
00028 #define _LuminousIntensity_h
00029 
00030 #include "Quantity/Variable.h"
00031 #include "Quantity/Constant.h"
00032 #include "Quantity/QuantityCluster.h"
00033 
00034 namespace Quantities {
00035 
00036 /* LuminousIntensity dimension */
00037 typedef BSUtilities::Rational<0> LuminousIntensity_LE;
00038 typedef BSUtilities::Rational<0> LuminousIntensity_M; 
00039 typedef BSUtilities::Rational<0> LuminousIntensity_TI;
00040 typedef BSUtilities::Rational<0> LuminousIntensity_E; 
00041 typedef BSUtilities::Rational<0> LuminousIntensity_TE;
00042 typedef BSUtilities::Rational<0> LuminousIntensity_A; 
00043 typedef BSUtilities::Rational<1> LuminousIntensity_LU;
00044 
00045 class LuminousIntensityGroup
00046   {
00047     public:
00048       typedef TYPELIST_7(LuminousIntensity_LE, LuminousIntensity_M, 
00049                          LuminousIntensity_TI, LuminousIntensity_E, 
00050                          LuminousIntensity_TE, LuminousIntensity_A, 
00051                                             LuminousIntensity_LU) DimTL;
00052   };
00053 
00055 
00056   namespace LuminousIntensityUnits {
00057 
00059 typedef Units::Unit<LuminousIntensityGroup> LuminousIntensityUnit;
00060 
00061 /* declaration of LuminousIntensity units */
00062 class CandelaUnits;
00063 
00064 /* the Candela and prefixed Candelas */
00065 
00066 typedef 
00067        Units::Prefixable<LuminousIntensityGroup, CandelaUnits> Candelas;
00068 
00069 typedef Units::Prefixed<Candelas> Candela;
00070 
00072 typedef TYPELIST_1(Candelas::Units) LuminousIntensityUnits;
00073 
00074 /* declare some abbreviated time units */
00075 
00076 typedef Candela cd;
00077 
00078   }
00079 
00080 /* declaration of LuminousIntensity dimension */
00081 
00082 typedef Dimensions::Dimension<LuminousIntensityGroup> 
00083                                              LuminousIntensityDimension;
00084 
00085 /* LuminousIntensity quantity */
00086 
00087 typedef Quantity<LuminousIntensityGroup, 
00088   LuminousIntensityUnits::LuminousIntensityUnits, 
00089            LuminousIntensityUnits::Candela> LuminousIntensityQuantities;
00090 
00091 typedef Variable<LuminousIntensityQuantities> LuminousIntensity;
00092 typedef Constant<LuminousIntensityQuantities> LuminousIntensityConstant;
00093 
00094 typedef VariableVector<LuminousIntensityQuantities> 
00095                                                 LuminousIntensityVector;
00096 
00097 }
00098 
00099 #endif /* _LuminousIntensity_h */

Generated on Sun Jan 15 13:58:03 2006 for PhysicalQuantities by doxygen 1.3.6