GGEMS  1.1
GPU GEant4-based Monte Carlo Simulations
GGEMSConstants.hh
Go to the documentation of this file.
1 #ifndef GUARD_GGEMS_GLOBAL_GGEMSCONSTANTS_HH
2 #define GUARD_GGEMS_GLOBAL_GGEMSCONSTANTS_HH
3 
4 // ************************************************************************
5 // * This file is part of GGEMS. *
6 // * *
7 // * GGEMS is free software: you can redistribute it and/or modify *
8 // * it under the terms of the GNU General Public License as published by *
9 // * the Free Software Foundation, either version 3 of the License, or *
10 // * (at your option) any later version. *
11 // * *
12 // * GGEMS is distributed in the hope that it will be useful, *
13 // * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 // * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 // * GNU General Public License for more details. *
16 // * *
17 // * You should have received a copy of the GNU General Public License *
18 // * along with GGEMS. If not, see <https://www.gnu.org/licenses/>. *
19 // * *
20 // ************************************************************************
21 
34 #include "GGEMS/global/GGEMSExport.hh"
36 
37 // PI variables
38 __constant GGfloat PI = 3.141592653589793f;
39 __constant GGfloat TWO_PI = 6.283185307179586f;
40 __constant GGfloat HALF_PI = 1.570796326794896f;
41 __constant GGfloat PI_SQUARED = 9.869604401089358f;
43 __constant GGfloat AVOGADRO = 6.02214179e+23f;
45 __constant GGfloat GASTHRESHOLD = 6.241510246e+16f;
47 __constant GGfloat C_LIGHT = 2.99792458e+2f;
48 __constant GGfloat C_LIGHT_SQUARED = 89875.5178736817f;
61 __constant GGfloat MU0 = 4.0f*3.141592653589793f*1.e-7f*1.602176383e-10f;
62 __constant GGfloat EPSILON0 = 5.526349824e+10f;
64 // hbar = 6.58212e-13 MeV*ns
65 // hbarc = 197.32705e-12 MeV*mm
66 __constant GGfloat H_PLANCK = 6.62606896e-34f*6.241509704e+21f;
68 __constant GGfloat HBAR_PLANCK = 6.582118206e-13f;
69 __constant GGfloat HBARC = 1.973269187e-10f;
70 __constant GGfloat HBARC_SQUARED = 3.89351824e-20F;
72 // electromagnetic coupling = 1.43996e-12 MeV*mm/(eplus^2)
73 __constant GGfloat ELM_COUPLING = 1.439964467e-12f;
77 __constant GGfloat BOHR_RADIUS = 5.291769867e-08f;
78 __constant GGfloat ALPHA_RCL2 = 5.794673922e-26f;
79 __constant GGfloat TWO_PI_MC2_RCL2 = 2.549549536e-23f;
81 #endif // End of GUARD_GGEMS_GLOBAL_GGEMSCONSTANTS_HH
ATOMIC_MASS_UNIT_C2
__constant GGfloat ATOMIC_MASS_UNIT_C2
Definition: GGEMSConstants.hh:58
PI_SQUARED
__constant GGfloat PI_SQUARED
Definition: GGEMSConstants.hh:41
ELECTRON_CHARGE_SQUARED
__constant GGfloat ELECTRON_CHARGE_SQUARED
Definition: GGEMSConstants.hh:51
GASTHRESHOLD
__constant GGfloat GASTHRESHOLD
Definition: GGEMSConstants.hh:45
PI
__constant GGfloat PI
Definition: GGEMSConstants.hh:38
HBAR_PLANCK
__constant GGfloat HBAR_PLANCK
Definition: GGEMSConstants.hh:68
ALPHA_RCL2
__constant GGfloat ALPHA_RCL2
Definition: GGEMSConstants.hh:78
ELM_COUPLING
__constant GGfloat ELM_COUPLING
Definition: GGEMSConstants.hh:73
H_PLANCK
__constant GGfloat H_PLANCK
Definition: GGEMSConstants.hh:66
ELECTRON_COMPTON_LENGTH
__constant GGfloat ELECTRON_COMPTON_LENGTH
Definition: GGEMSConstants.hh:76
HALF_PI
__constant GGfloat HALF_PI
Definition: GGEMSConstants.hh:40
ELECTRON_MASS_C2
__constant GGfloat ELECTRON_MASS_C2
Definition: GGEMSConstants.hh:53
C_LIGHT
__constant GGfloat C_LIGHT
Definition: GGEMSConstants.hh:47
__constant
#define __constant
__constant is known for OpenCL, but for C++ we define __constant as a constexpr
Definition: GGEMSSystemOfUnits.hh:43
C_LIGHT_SQUARED
__constant GGfloat C_LIGHT_SQUARED
Definition: GGEMSConstants.hh:48
HBARC
__constant GGfloat HBARC
Definition: GGEMSConstants.hh:69
NEUTRON_MASS_C2
__constant GGfloat NEUTRON_MASS_C2
Definition: GGEMSConstants.hh:56
BOHR_RADIUS
__constant GGfloat BOHR_RADIUS
Definition: GGEMSConstants.hh:77
TWO_PI
__constant GGfloat TWO_PI
Definition: GGEMSConstants.hh:39
ATOMIC_MASS_UNIT
__constant GGfloat ATOMIC_MASS_UNIT
Definition: GGEMSConstants.hh:59
GGEMSSystemOfUnits.hh
Namespace storing all the usefull physical units.
POSITRON_MASS_C2
__constant GGfloat POSITRON_MASS_C2
Definition: GGEMSConstants.hh:54
HBARC_SQUARED
__constant GGfloat HBARC_SQUARED
Definition: GGEMSConstants.hh:70
MU0
__constant GGfloat MU0
Definition: GGEMSConstants.hh:61
PROTON_MASS_C2
__constant GGfloat PROTON_MASS_C2
Definition: GGEMSConstants.hh:55
EPSILON0
__constant GGfloat EPSILON0
Definition: GGEMSConstants.hh:62
ELECTRON_CHARGE
__constant GGfloat ELECTRON_CHARGE
Definition: GGEMSConstants.hh:50
FINE_STRUCTURE_CONST
__constant GGfloat FINE_STRUCTURE_CONST
Definition: GGEMSConstants.hh:74
CLASSIC_ELECTRON_RADIUS
__constant GGfloat CLASSIC_ELECTRON_RADIUS
Definition: GGEMSConstants.hh:75
AVOGADRO
__constant GGfloat AVOGADRO
Definition: GGEMSConstants.hh:43
TWO_PI_MC2_RCL2
__constant GGfloat TWO_PI_MC2_RCL2
Definition: GGEMSConstants.hh:79
F
__constant GGfloat F
Definition: GGEMSSystemOfUnits.hh:140
GGfloat
#define GGfloat
Definition: GGEMSTypes.hh:273