Hi Tony, for the time being I've added all these constant in TMath.h as inline functions. We already has TMath::Pi() and TMath::E(). Thanks for the contribution, so now we have many more ;-) Cheers, Fons. On Wed, 2002-07-24 at 15:55, Tony Colley wrote: > Root Community: > > This is not part of ROOT, but it is what we use here at ITT for > mathematical and physical constants. You are welcome to fold it into > your own code. > > The ROOT Development Team (RDT) is also welcome to fold it into ROOT > somewhere. If the RDT would let me know exactly where in the ROOT > hierarchy they would want this and what the naming, formatting & > documentation conventions are, I would be willing to do that part of the > effort myself. > > Cheers, > Tony Colley > > > Alberto Pulvirenti wrote: > > >Hi Andreas, > > > >PI is obtained by TMath::Pi() > > > >about the others, I think there is no place where they are stored... > > > >Regards > > > >On Wed, 24 Jul 2002, Andreas Salzburger wrote: > > > > > > > >>hi "root-talk-community", > >> > >>i've just a small question, i guess it's solved very fast. > >>how can i have access to constants like pi, c, hbar, etc .. in root? > >> > >>Thank's > >>Andi > >> > >> > >> > >> > >> > > > > > > > > > ---- > > //============================================================================= > // ITT DEFENSE AEROSPACE/COMMUNICATIONS DIVISION > // 1919 West Cook Road Fort Wayne, Indiana 46801 > //============================================================================= > // Copyright 2002 ITT Industries as an unpublished work. > // All rights reserved. > // > // This computer software is proprietary to ITT Industries and shall not be > // reproduced, disclosed or used without the prior written permission of ITT > // Corporation. > //============================================================================= > // > // NOTE: The documentation in this file is optimized for doxygen (which uses > // doxygen, HTML, and LaTeX markup), which obfuscates it somewhat for > // preformatted reading. > // > /*! \file > * $Source: /users/cvs/ittdcsf/itt_utils/include/FundamentalConstants.h,v $ > * $Revision: 1.6 $ $Date: 2002/07/11 17:19:36 $ $Author: awcolley $ > * > * Purpose:<pre> > * Defines fundamental constants. > * > * SOURCE: The NIST Reference on Constants, Units, and Uncertainty > * http://physics.nist.gov/cuu/Constants/index.html > * (except as noted) > *</pre> > */ > #ifndef INC_FUNDAMENTALCONSTANTS_H > #define INC_FUNDAMENTALCONSTANTS_H > > #include "declspec_utils.h" > > namespace itt > { > > // Values related to Pi > // cout << fixed << setprecision(20) << Pi gives (on a PentiumIII): > // 3.141592653589793116 > > /*! \brief \f$\pi\f$ -- Archimedes Constant. > * > * Source: > * http://numbers.computation.free.fr/Constants/Miscellaneous/digits.html > */ > extern const double UTILS_DECLSPEC Pi; > /*! \brief \f$2 \pi\f$ */ > extern const double UTILS_DECLSPEC TwoPi; // 2*pi > /*! \brief \f$\pi / 2\f$ */ > extern const double UTILS_DECLSPEC PiOver2; // pi/2 > /*! \brief \f$\pi / 4\f$ */ > extern const double UTILS_DECLSPEC PiOver4; // pi/4 > /*! \brief \f$1 / \pi\f$ */ > extern const double UTILS_DECLSPEC InvPi; // 1/pi > /*! \brief convert radians to degrees. > * > * \f$180 / \pi\f$ > */ > extern const double UTILS_DECLSPEC RadToDeg; // 180/pi > /*! \brief convert degrees to radians. > * > * \f$\pi / 180\f$ > */ > extern const double UTILS_DECLSPEC DegToRad; // pi/180 > > /*! \brief \f$e\f$ -- the Euler Number (base of natural log). > * > * Source: > * http://numbers.computation.free.fr/Constants/Miscellaneous/digits.html > */ > extern const double UTILS_DECLSPEC E; > /*! \brief \f$\ln{10}\f$ -- natural log of 10 (to convert log to ln). > * > * Source: > * http://numbers.computation.free.fr/Constants/Miscellaneous/digits.html > */ > extern const double UTILS_DECLSPEC Ln10; > /*! \brief \f$\log{e}\f$ -- base-10 log of \f$e\f$ (to convert ln to log). > * > * Source: > * http://numbers.computation.free.fr/Constants/Miscellaneous/digits.html > */ > extern const double UTILS_DECLSPEC LogE; > > /*! \brief \f$c\f$ -- speed of light in a vacuum > * > * units: \f$\mathbf{m} \: \mathbf{s}^{-1}\f$ > */ > extern const double UTILS_DECLSPEC C; // m s^-1 > > /*! \brief \f$c_{cgs}\f$ -- speed of light in a vacuum (CGS units) > * > * units: \f$\mathbf{cm} \: \mathbf{s}^{-1}\f$ > */ > extern const double UTILS_DECLSPEC Ccgs; // cm s^-1 > > /*! \brief uncertainty of \f$c\f$ */ > extern const double UTILS_DECLSPEC C_uncertainty; > > /*! \brief \f$G\f$ -- gravitational constant > * > * units: \f$\mathbf{m}^3 \: \mathbf{kg}^{-1} \: \mathbf{s}^{-2}\f$ > */ > extern const double UTILS_DECLSPEC G; // m^3 kg^-1 s^-2 > > /*! \brief \f$G_{cgs}\f$ -- gravitational constant (CGS units) > * > * units: \f$\mathbf{cm}^3 \: \mathbf{g}^{-1} \: \mathbf{s}^{-2}\f$ > */ > extern const double UTILS_DECLSPEC Gcgs; // cm^3 g^-1 s^-2 > > /*! \brief uncertainty of \f$G\f$ */ > extern const double UTILS_DECLSPEC G_uncertainty; > > /*! \brief \f$G/\hbar c\f$ > * > * units: \f$\mathbf{(GeV} / \mathbf{c}^2)^{-2}\f$ > */ > extern const double UTILS_DECLSPEC G_hbarC; // (GeV / c^2)^-2 > > /*! \brief uncertainty of \f$G/\hbar c\f$ */ > extern const double UTILS_DECLSPEC G_hbarC_uncertainty; > > /*! \brief \f$g_n\f$ -- standard acceleration of gravity > * > * units: \f$\mathbf{m} \: \mathbf{s}^{-2}\f$ > */ > extern const double UTILS_DECLSPEC Gn; // m s^-2 > > /*! \brief uncertainty of \f$g_n\f$ */ > extern const double UTILS_DECLSPEC Gn_uncertainty; > > /*! \brief \f$h\f$ -- Planck's constant > * > * units: \f$\mathbf{J} \: \mathbf{s}\f$ > */ > extern const double UTILS_DECLSPEC H; // J s > > /*! \brief \f$h_{cgs}\f$ -- Planck's constant (CGS units) > * > * units: \f$\mathbf{erg} \: \mathbf{s}\f$ > */ > extern const double UTILS_DECLSPEC Hcgs; // erg s > > /*! \brief uncertainty of \f$h\f$ */ > extern const double UTILS_DECLSPEC H_uncertainty; > > /*! \brief \f$\hbar\f$ -- Planck's constant divided by \f$2\pi\f$ > * > * units: \f$\mathbf{J} \: \mathbf{s}\f$ > */ > extern const double UTILS_DECLSPEC Hbar; // J s > > /*! \brief \f$\hbar_{cgs}\f$ -- Planck's constant divided by \f$2\pi\f$ > * (CGS units) > * > * units: \f$\mathbf{erg} \: \mathbf{s}\f$ > */ > extern const double UTILS_DECLSPEC Hbar_cgs; // erg s > > /*! \brief uncertainty of \f$\hbar\f$ */ > extern const double UTILS_DECLSPEC Hbar_uncertainty; > > /*! \brief \f$hc\f$ -- Planck's constant times speed of light > * > * units: \f$\mathbf{J} \: \mathbf{m}\f$ > */ > extern const double UTILS_DECLSPEC HC; // J m > > /*! \brief \f$(hc)_{cgs}\f$ -- Planck's constant times speed of light > * (CGS units) > * > * units: \f$\mathbf{erg} \: \mathbf{cm}\f$ > */ > extern const double UTILS_DECLSPEC HCcgs; // erg cm > > /*! \brief \f$k\f$ -- Boltzmann's constant > * > * units: \f$\mathbf{J} \: \mathbf{K}^{-1}\f$ > */ > extern const double UTILS_DECLSPEC K; // J K^-1 > > /*! \brief \f$k_{cgs}\f$ -- Boltzmann's constant (CGS units) > * > * units: \f$\mathbf{erg} \: \mathbf{K}^{-1}\f$ > */ > extern const double UTILS_DECLSPEC Kcgs; // erg K^-1 > > /*! \brief uncertainty of \f$k\f$ */ > extern const double UTILS_DECLSPEC K_uncertainty; > > /*! \brief \f$\sigma\f$ -- Stefan-Boltzmann constant > * > * units: \f$\mathbf{W} \: \mathbf{m}^{-2} \: \mathbf{K}^{-4}\f$ > */ > extern const double UTILS_DECLSPEC Sigma; // W m^-2 K^-4 > > /*! \brief uncertainty of \f$\sigma\f$ */ > extern const double UTILS_DECLSPEC Sigma_uncertainty; > > /*! \brief \f$N_{\mathbf{A}}\f$ -- Avogadro's Number > * > * units: \f$\mathbf{mol}^{-1}\f$ > */ > extern const double UTILS_DECLSPEC Na; // mol^-1 > > /*! \brief uncertainty of \f$N_{\mathbf{A}}\f$ */ > extern const double UTILS_DECLSPEC Na_uncertainty; > > /*! \brief \f$R\f$ -- universal gas constant, \f$R \equiv k N_{\mathbf{A}}\f$ > * > * units: \f$\mathbf{J} \: \mathbf{K}^{-1} \: \mathbf{mol}^{-1}\f$ > * > * Source: > * http://scienceworld.wolfram.com/physics/UniversalGasConstant.html > */ > extern const double UTILS_DECLSPEC R; // J K^-1 mol^-1 > > /*! \brief uncertainty of \f$R\f$ */ > extern const double UTILS_DECLSPEC R_uncertainty; > > /*! \brief \f$m_a\f$ -- molecular weight of dry air > * > * units: \f$\mathbf{kg} \: \mathbf{kmol}^{-1}\f$ <i>or</i> > * \f$\mathbf{g} \: \mathbf{mol}^{-1}\f$ > * > * Source: > * <i>1976 US Standard Atmosphere</i>, > * also see http://atmos.nmsu.edu/jsdap/encyclopediawork.html > */ > extern const double UTILS_DECLSPEC MWair; // kg kmol^-1 or g mol^-1 > > /*! \brief \f$R_g(\mathbf{air})\f$ -- dry air gas constant (\f$R / m_a\f$) > * > * units: \f$\mathbf{J} \: \mathbf{kg}^{-1} \: \mathbf{K}^{-1}\f$ > * > * Source: > * http://atmos.nmsu.edu/education_and_outreach/encyclopedia/gas_constant.htm > */ > extern const double UTILS_DECLSPEC Rgair; // J kg^-1 K^-1 > > /*! \brief \f$e\f$ -- Elementary charge > * > * units: \f$\mathbf{C}\f$ > */ > extern const double UTILS_DECLSPEC Qe; // C > > /*! \brief uncertainty of \f$e\f$ */ > extern const double UTILS_DECLSPEC Qe_uncertainty; > > } // end of itt namespace > > #endif // ADD NOTHING AFTER HERE > ---- > > //============================================================================= > // ITT DEFENSE AEROSPACE/COMMUNICATIONS DIVISION > // 1919 West Cook Road Fort Wayne, Indiana 46801 > //============================================================================= > // Copyright 2002 ITT Industries as an unpublished work. > // All rights reserved. > // > // This computer software is proprietary to ITT Industries and shall not be > // reproduced, disclosed or used without the prior written permission of ITT > // Corporation. > //============================================================================= > // Programmer Notes: > // > // Except as noted below, all values are from: > // > // The NIST Reference on Constants, Units, and Uncertainty > // > // http://physics.nist.gov/cuu/Constants/index.html > // > //============================================================================= > /*! \file > * $Source: /users/cvs/ittdcsf/itt_utils/src/FundamentalConstants.cpp,v $ > * $Revision: 1.5 $ $Date: 2002/07/11 17:19:36 $ $Author: awcolley $ > */ > #include "FundamentalConstants.h" > > namespace itt > { > > // Values related to Pi > // cout << fixed << setprecision(20) << Pi gives (on a PentiumIII): > // 3.141592653589793116 > const double Pi = 3.14159265358979323846; > const double TwoPi = 2.0 * Pi; > const double PiOver2 = Pi / 2.0; > const double PiOver4 = Pi / 4.0; > const double InvPi = 1.0 / Pi; > const double RadToDeg = 180.0 / Pi; > const double DegToRad = Pi / 180.0; > > // e (base of natural log) > const double E = 2.71828182845904523536; > > // natural log of 10 (to convert log to ln) > const double Ln10 = 2.30258509299404568402; > > // base-10 log of e (to convert ln to log) > const double LogE = 0.43429448190325182765; > > // Velocity of light > const double C = 2.99792458e8; // m s^-1 > const double Ccgs = 100.0 * C; // cm s^-1 > const double C_uncertainty = 0.0; // exact > > // Gravitational constant > const double G = 6.673e-11; // m^3 kg^-1 s^-2 > const double Gcgs = G / 1000.0; // cm^3 g^-1 s^-2 > const double G_uncertainty = 0.010e-11; > > // G over h-bar C > const double G_hbarC = 6.707e-39; // (GeV/c^2)^-2 > const double G_hbarC_uncertainty = 0.010e-39; > > // Standard acceleration of gravity > const double Gn = 9.80665; // m s^-2 > const double Gn_uncertainty = 0.0; // exact > > // Planck's constant > const double H = 6.62606876e-34; // J s > const double Hcgs = 1.0e7 * H; // erg s > const double H_uncertainty = 0.00000052e-34; > > // h-bar (h over 2 pi) > const double Hbar = 1.054571596e-34; // J s > const double Hbar_cgs = 1.0e7 * Hbar; // erg s > const double Hbar_uncertainty = 0.000000082e-34; > > // hc (h * c) > const double HC = H * C; // J m > const double HCcgs = Hcgs * Ccgs; // erg cm > > // Boltzmann's constant > const double K = 1.3806503e-23; // J K^-1 > const double Kcgs = 1.0e7 * K; // erg K^-1 > const double K_uncertainty = 0.0000024e-23; > > // Stefan-Boltzmann constant > const double Sigma = 5.6704e-8; // W m^-2 K^-4 > const double Sigma_uncertainty = 0.000040e-8; > > // Avogadro constant (Avogadro's Number) > const double Na = 6.02214199e+23; // mol^-1 > const double Na_uncertainty = 0.00000047e+23; > > // Universal Gas constant (Na * K) > // http://scienceworld.wolfram.com/physics/UniversalGasConstant.html > const double R = K * Na; // J K^-1 mol^-1 > const double R_uncertainty = R*((K_uncertainty/K) + (Na_uncertainty/Na)); > > // Molecular weight of dry air > // 1976 US Standard Atmosphere, > // also see http://atmos.nmsu.edu/jsdap/encyclopediawork.html > const double MWair = 28.9644; // kg kmol^-1 (or gm mol^-1) > > // Dry Air Gas Constant (R / MWair) > // http://atmos.nmsu.edu/education_and_outreach/encyclopedia/gas_constant.htm > const double Rgair = (1000.0 * R) / MWair; // J kg^-1 K^-1 > > // Elementary charge > const double Qe = 1.602176462e-19; // C > const double Qe_uncertainty = 0.000000063e-19; > > } // end of itt namespace -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:02 MET