#ifndef BRAT_BrUnits #define BRAT_BrUnits // $Id: BrUnits.h,v 1.2 2001/07/27 09:25:26 nbi Exp $ // // $Log: BrUnits.h,v $ // Revision 1.2 2001/07/27 09:25:26 nbi // Added inch used in BrDetectorParamsChk // // Revision 1.1.1.1 2001/06/21 14:55:19 hagel // Initial revision of brat2 // // Revision 1.2 1999/01/21 23:23:20 hagel // 1. Changed convention for checking includes. Current convention is: // BRAT_Br...... eg BRAT_BrModule ala ROOT. // 2. Added CVS logs to .h files that didn't have them. // 3. Moved checking of include definition to first line for easier reading // 4. Put checks before all includes in the include files as per BRAT specifications // 5. Added BrGeantHeader to Geant Makefile // 6. All changes have been checked to compile on NT ala Cygnus // // Revision 1.1 1998/07/21 16:26:32 videbaek // Units constants added // // #ifndef ROOT_Rtypes #include "Rtypes.h" #endif #include // // This could in fact be put in a proper namespace rather than // in a class. Do not know how to do this with ROOT and CINT at this // point // class BrUnits { public: static const Double_t pi; // from static const Double_t twopi; static const Double_t halfpi; static const Double_t pi2; // // Length [L] // static const Double_t millimeter; static const Double_t millimeter2; static const Double_t millimeter3; static const Double_t centimeter; static const Double_t centimeter2; static const Double_t centimeter3; static const Double_t meter; static const Double_t meter2; static const Double_t meter3; static const Double_t kilometer; static const Double_t kilometer2; static const Double_t kilometer3; static const Double_t micrometer; static const Double_t nanometer; static const Double_t femtometer; static const Double_t Fermi; static const Double_t barn; static const Double_t millibarn; static const Double_t microbarn; static const Double_t nanobarn; static const Double_t inch; // // Angle // static const Double_t radian; static const Double_t milliradian; static const Double_t degree; static const Double_t steradian; // // Time [T] // static const Double_t nanosecond; static const Double_t second; static const Double_t millisecond; static const Double_t Hertz; static const Double_t kiloHertz; static const Double_t MegaHertz; // but these are also unambiguous and unlikely to be used as variable! static const Double_t Hz; static const Double_t kHz; static const Double_t MHz; // // Electric charge [Q] // static const Double_t eplus; // electron posiitron charge static const Double_t e_SI; // positron charge in coulomb static const Double_t Coulomb; // // Energy [E] // static const Double_t MegaelectronVolt; static const Double_t electronVolt; static const Double_t kiloelectronVolt; static const Double_t GigaelectronVolt; static const Double_t TeraelectronVolt; // but these are also unambiguous and unlikely to be used as variables static const Double_t MeV; static const Double_t eV; static const Double_t keV; static const Double_t GeV; static const Double_t TeV; static const Double_t Joule; // // Mass [E][T^2][L^-2] // static const Double_t kilogram; static const Double_t gram; static const Double_t milligram; // // Power [E][T^-1] // static const Double_t Watt; // // Force [E][L^-1] // static const Double_t Newton; // // Pressure [E][L^-3] // // #define Pascal hep_pascal // a trick to avoid warnings static const Double_t Pascal; static const Double_t bar; static const Double_t atmosphere; // // Electric current [Q][T^-1] // static const Double_t Ampere; // // Electric potential [E][Q^-1] // static const Double_t MegaVolt; static const Double_t kiloVolt; static const Double_t Volt; // // Electric resistance [E][T][Q^-2] // static const Double_t Ohm; // // Electric capacitance [Q^2][E^-1] // static const Double_t Farad; static const Double_t milliFarad; static const Double_t microFarad; static const Double_t nanoFarad; static const Double_t picoFarad; // // Magnetic Flux [T][E][Q^-1] // static const Double_t Weber; // // Magnetic Field [T][E][Q^-1][L^-2] // static const Double_t Tesla; static const Double_t Gauss; static const Double_t kiloGauss; // // Inductance [T^2][E][Q^-2] // static const Double_t Henry; // // Temperature // static const Double_t Kelvin; // 1.; // // Amount of substance // static const Double_t mole; // 1.; // // Activity [T^-1] // static const Double_t Becquerel; // 1./second; static const Double_t Curie; // 3.7e+10 * Becquerel; // // Absorbed dose [L^2][T^-2] // static const Double_t Gray; // Joule/kilogram ; // // Miscellaneous // static const Double_t perCent ; // 0.01 ; static const Double_t perThousand; // 0.001; static const Double_t perMillion ; // 0.000001; // // c = 299.792458 mm/ns // c^2 = 898.7404 (mm/ns)^2 // static const Double_t c_light ; //2.99792458e+8 * m/s; static const Double_t c_squared ; //c_light * c_light; // // h ; //4.13566e-12 MeV*ns // hbar ; //6.58212e-13 MeV*ns // hbarc ; //197.32705e-12 MeV*mm // static const Double_t h_Planck ; //6.6260755e-34 * joule*s; static const Double_t hbar_Planck ; //h_Planck/twopi; static const Double_t hbarc ; //hbar_Planck * c_light; static const Double_t hbarc_squared ; //hbarc * hbarc; // // // static const Double_t electron_charge ; //- eplus; // see SystemOfUnits.h static const Double_t e_squared ; //eplus * eplus; // // amu_c2 - atomic equivalent mass unit // amu - atomic mass unit // static const Double_t electron_mass_c2 ; //0.51099906 * MeV; static const Double_t proton_mass_c2 ; //938.27231 * MeV; static const Double_t neutron_mass_c2 ; //939.56563 * MeV; static const Double_t amu_c2 ; //931.49432 * MeV; static const Double_t amu ; //amu_c2/c_squared; // // permeability of free space mu0 = 2.01334e-16 Mev*(ns*eplus)^2/mm // permittivity of free space epsil0 = 5.52636e+10 eplus^2/(MeV*mm) // static const Double_t mu0 ; //4*pi*1.e-7 * henry/m; static const Double_t epsilon0 ; //1./(c_squared*mu0); // // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2) // static const Double_t elm_coupling ; //e_squared/(4*pi*epsilon0); static const Double_t fine_structure_const ; //elm_coupling/hbarc; static const Double_t classic_electr_radius ; //elm_coupling/electron_mass_c2; static const Double_t electron_Compton_length ; //hbarc/electron_mass_c2; static const Double_t Bohr_radius ; //electron_Compton_length/fine_structure_const; static const Double_t alpha_rcl2 ; //fine_structure_const //*classic_electr_radius //*classic_electr_radius; static const Double_t twopi_mc2_rcl2 ; //twopi*electron_mass_c2 //*classic_electr_radius //*classic_electr_radius; // // // static const Double_t k_Boltzmann ; //8.617385e-11 * MeV/kelvin; // // // static const Double_t STP_Temperature ; //273.15*kelvin; static const Double_t STP_Pressure ; //1.*atmosphere; static const Double_t kGasThreshold ; //1.e-2*g/cm3; }; #endif