Warning, file /include/celeritas/em/data/MollerBhabhaData.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007 #pragma once
0008
0009 #include "corecel/Macros.hh"
0010 #include "corecel/Types.hh"
0011 #include "celeritas/Quantities.hh"
0012 #include "celeritas/Types.hh"
0013
0014 namespace celeritas
0015 {
0016
0017
0018
0019
0020 struct MollerBhabhaIds
0021 {
0022 ParticleId electron;
0023 ParticleId positron;
0024
0025
0026 explicit CELER_FUNCTION operator bool() const
0027 {
0028 return electron && positron;
0029 }
0030 };
0031
0032
0033
0034
0035
0036 struct MollerBhabhaData
0037 {
0038
0039 MollerBhabhaIds ids;
0040
0041
0042 units::MevMass electron_mass;
0043
0044
0045 static CELER_CONSTEXPR_FUNCTION units::MevEnergy max_valid_energy()
0046 {
0047 return units::MevEnergy{100e6};
0048 }
0049
0050
0051 explicit CELER_FUNCTION operator bool() const
0052 {
0053 return ids && electron_mass > zero_quantity();
0054 }
0055 };
0056
0057 using MollerBhabhaHostRef = MollerBhabhaData;
0058 using MollerBhabhaDeviceRef = MollerBhabhaData;
0059
0060
0061 }