From f4a47ba6eb832ffcd5b1db81f181209f48a1a84e Mon Sep 17 00:00:00 2001 From: Fan <fan_hu@pku.edu.cn> Date: Tue, 27 Apr 2021 22:15:09 +0800 Subject: [PATCH] rename Gamma to Photon --- .../detail/framework/core/ParticleProperties.inl | 2 +- corsika/detail/modules/LongitudinalProfile.inl | 6 +++--- corsika/detail/modules/ParticleCut.inl | 2 +- corsika/detail/modules/conex/CONEXhybrid.inl | 8 ++++---- corsika/detail/modules/urqmd/UrQMD.inl | 2 +- corsika/framework/core/ParticleProperties.hpp | 2 +- corsika/framework/units/other_units.hpp | 4 ++-- corsika/modules/LongitudinalProfile.hpp | 2 +- corsika/modules/ParticleCut.hpp | 2 +- corsika/modules/conex/CONEXhybrid.hpp | 2 +- corsika/modules/energy_loss/Properties8.dat | 4 ++-- corsika/modules/proposal/ContinuousProcess.hpp | 2 +- corsika/modules/proposal/Interaction.hpp | 2 +- corsika/modules/proposal/ProposalProcessBase.hpp | 6 +++--- examples/em_shower.cpp | 2 +- src/framework/core/ParticleClassNames.xml | 2 +- src/modules/sibyll/sibyll_codes.dat | 2 +- tests/framework/testParticles.cpp | 14 +++++++------- tests/modules/conex_output_REF.txt | 2 +- tests/modules/testCONEX.cpp | 2 +- tests/modules/testOnShellCheck.cpp | 2 +- tests/modules/testParticleCut.cpp | 2 +- tests/modules/testTracking.cpp | 2 +- 23 files changed, 38 insertions(+), 38 deletions(-) diff --git a/corsika/detail/framework/core/ParticleProperties.inl b/corsika/detail/framework/core/ParticleProperties.inl index 47504f4ea..6c61177e3 100644 --- a/corsika/detail/framework/core/ParticleProperties.inl +++ b/corsika/detail/framework/core/ParticleProperties.inl @@ -54,7 +54,7 @@ namespace corsika { } inline bool constexpr is_em(Code const c) { - return c == Code::Electron || c == Code::Positron || c == Code::Gamma; + return c == Code::Electron || c == Code::Positron || c == Code::Photon; } inline bool constexpr is_muon(Code const c) { diff --git a/corsika/detail/modules/LongitudinalProfile.inl b/corsika/detail/modules/LongitudinalProfile.inl index 48deafe6e..800d88240 100644 --- a/corsika/detail/modules/LongitudinalProfile.inl +++ b/corsika/detail/modules/LongitudinalProfile.inl @@ -46,8 +46,8 @@ namespace corsika { const int binEnd = std::floor(grammageEnd / dX_); for (int b = binStart; b <= binEnd; ++b) { - if (pid == Code::Gamma) { - profiles_.at(b)[ProfileIndex::Gamma]++; + if (pid == Code::Photon) { + profiles_.at(b)[ProfileIndex::Photon]++; } else if (pid == Code::Positron) { profiles_.at(b)[ProfileIndex::Positron]++; } else if (pid == Code::Electron) { @@ -67,7 +67,7 @@ namespace corsika { inline void LongitudinalProfile::save(std::string const& filename, const int width, const int precision) { std::ofstream f{filename}; - f << "# X / g·cm¯², gamma, e+, e-, mu+, mu-, all hadrons" << std::endl; + f << "# X / g·cm¯², photon, e+, e-, mu+, mu-, all hadrons" << std::endl; for (size_t b = 0; b < profiles_.size(); ++b) { f << std::setprecision(5) << std::setw(11) << b * (dX_ / (1_g / 1_cm / 1_cm)); for (auto const& N : profiles_.at(b)) { diff --git a/corsika/detail/modules/ParticleCut.inl b/corsika/detail/modules/ParticleCut.inl index ffbbbed8d..7eb690d64 100644 --- a/corsika/detail/modules/ParticleCut.inl +++ b/corsika/detail/modules/ParticleCut.inl @@ -30,7 +30,7 @@ namespace corsika { set_energy_threshold(p, eMuCut); else if (p == Code::Electron || p == Code::Positron) set_energy_threshold(p, eEleCut); - else if (p == Code::Gamma) + else if (p == Code::Photon) set_energy_threshold(p, ePhoCut); else if (p == Code::Nucleus) // nuclei have same threshold as hadrons on the nucleon level. diff --git a/corsika/detail/modules/conex/CONEXhybrid.inl b/corsika/detail/modules/conex/CONEXhybrid.inl index 6ab443e49..f5cb6592d 100644 --- a/corsika/detail/modules/conex/CONEXhybrid.inl +++ b/corsika/detail/modules/conex/CONEXhybrid.inl @@ -246,7 +246,7 @@ namespace corsika { auto dEdX = std::make_unique<float[]>(maxX); auto Mu = std::make_unique<float[]>(maxX); auto dMu = std::make_unique<float[]>(maxX); - auto Gamma = std::make_unique<float[]>(maxX); + auto Photon = std::make_unique<float[]>(maxX); auto Electrons = std::make_unique<float[]>(maxX); auto Hadrons = std::make_unique<float[]>(maxX); @@ -255,17 +255,17 @@ namespace corsika { ::conex::get_shower_data_(icut, iSec, nX, X[0], N[0], fitpars[0], H[0], D[0]); ::conex::get_shower_edep_(icut, nX, dEdX[0], EGround[0]); ::conex::get_shower_muon_(icutm, nX, Mu[0], dMu[0]); - ::conex::get_shower_gamma_(icutg, nX, Gamma[0]); + ::conex::get_shower_gamma_(icutg, nX, Photon[0]); ::conex::get_shower_electron_(icute, nX, Electrons[0]); ::conex::get_shower_hadron_(icuth, nX, Hadrons[0]); std::ofstream file{"conex_output.txt"}; file << fmt::format("#{:>8} {:>13} {:>13} {:>13} {:>13} {:>13} {:>13} {:>13}\n", "X", - "N", "dEdX", "Mu", "dMu", "Gamma", "El", "Had"); + "N", "dEdX", "Mu", "dMu", "Photon", "El", "Had"); for (int i = 0; i < nX; ++i) { file << fmt::format( " {:>8.2f} {:>13.3} {:>13.3} {:>13.3} {:>13.3} {:>13.3} {:>13.3} {:>13.3}\n", - X[i], N[i], dEdX[i], Mu[i], dMu[i], Gamma[i], Electrons[i], Hadrons[i]); + X[i], N[i], dEdX[i], Mu[i], dMu[i], Photon[i], Electrons[i], Hadrons[i]); } file.close(); diff --git a/corsika/detail/modules/urqmd/UrQMD.inl b/corsika/detail/modules/urqmd/UrQMD.inl index ee29642e0..cd5a479ba 100644 --- a/corsika/detail/modules/urqmd/UrQMD.inl +++ b/corsika/detail/modules/urqmd/UrQMD.inl @@ -339,7 +339,7 @@ namespace corsika::urqmd { inline std::pair<int, int> convertToUrQMD(Code code) { static const std::map<int, std::pair<int, int>> mapPDGToUrQMD{ // data mostly from github.com/afedynitch/ParticleDataTool - {22, {100, 0}}, // gamma + {22, {100, 0}}, // photon {111, {101, 0}}, // pi0 {211, {101, 2}}, // pi+ {-211, {101, -2}}, // pi- diff --git a/corsika/framework/core/ParticleProperties.hpp b/corsika/framework/core/ParticleProperties.hpp index d0d17d264..7be6db288 100644 --- a/corsika/framework/core/ParticleProperties.hpp +++ b/corsika/framework/core/ParticleProperties.hpp @@ -94,7 +94,7 @@ namespace corsika { //! true iff the particle is a hard-coded nucleus or Code::Nucleus bool constexpr is_nucleus(Code const); bool constexpr is_hadron(Code const); //!< true iff particle is hadron - bool constexpr is_em(Code const); //!< true iff particle is electron, positron or gamma + bool constexpr is_em(Code const); //!< true iff particle is electron, positron or photon bool constexpr is_muon(Code const); //!< true iff particle is mu+ or mu- bool constexpr is_neutrino(Code const); //!< true iff particle is (anti-) neutrino int constexpr get_nucleus_A( diff --git a/corsika/framework/units/other_units.hpp b/corsika/framework/units/other_units.hpp index 4ba5df3d8..936e1fd23 100644 --- a/corsika/framework/units/other_units.hpp +++ b/corsika/framework/units/other_units.hpp @@ -93,8 +93,8 @@ constexpr quantity< length_d > furlong { Rep( 2.01168e+ constexpr quantity< volume_d > gallon_imperial { Rep( 4.54609e-3L ) * cube( meter ) }; constexpr quantity< volume_d > gallon_us { Rep( 3.785412e-3L ) * cube( meter ) }; -constexpr quantity< magnetic_flux_density_d > gamma { Rep( 1e-9L ) * tesla }; -constexpr quantity< mass_d > gamma_mass { Rep( 1e-9L ) * kilogram }; +constexpr quantity< magnetic_flux_density_d > photon { Rep( 1e-9L ) * tesla }; +constexpr quantity< mass_d > photon_mass { Rep( 1e-9L ) * kilogram }; constexpr quantity< magnetic_flux_density_d > gauss { Rep( 1e-4L ) * tesla }; constexpr quantity< electric_current_d > gilbert { Rep( 7.957747e-1L ) * ampere }; constexpr quantity< volume_d > gill_imperial { Rep( 1.420653e-4L ) * cube( meter ) }; diff --git a/corsika/modules/LongitudinalProfile.hpp b/corsika/modules/LongitudinalProfile.hpp index b06e2ef85..5dc2729b4 100644 --- a/corsika/modules/LongitudinalProfile.hpp +++ b/corsika/modules/LongitudinalProfile.hpp @@ -57,7 +57,7 @@ namespace corsika { ShowerAxis const& shower_axis_; using ProfileEntry = std::array<uint32_t, 6>; enum ProfileIndex { - Gamma = 0, + Photon = 0, Positron = 1, Electron = 2, MuPlus = 3, diff --git a/corsika/modules/ParticleCut.hpp b/corsika/modules/ParticleCut.hpp index 9842dd034..11d8049d5 100644 --- a/corsika/modules/ParticleCut.hpp +++ b/corsika/modules/ParticleCut.hpp @@ -64,7 +64,7 @@ namespace corsika { void reset(); HEPEnergyType getElectronECut() const { return get_energy_threshold(Code::Electron); } - HEPEnergyType getPhotonECut() const { return get_energy_threshold(Code::Gamma); } + HEPEnergyType getPhotonECut() const { return get_energy_threshold(Code::Photon); } HEPEnergyType getMuonECut() const { return get_energy_threshold(Code::MuPlus); } HEPEnergyType getHadronECut() const { return get_energy_threshold(Code::Proton); } HEPEnergyType getInvEnergy() const { return inv_energy_; } diff --git a/corsika/modules/conex/CONEXhybrid.hpp b/corsika/modules/conex/CONEXhybrid.hpp index 299f85cbd..659cbe95b 100644 --- a/corsika/modules/conex/CONEXhybrid.hpp +++ b/corsika/modules/conex/CONEXhybrid.hpp @@ -46,7 +46,7 @@ namespace corsika { // data members //! CONEX e.m. particle codes static std::array<std::pair<Code, int>, 3> constexpr egs_em_codes_{ - {{Code::Gamma, 0}, {Code::Electron, -1}, {Code::Positron, -1}}}; + {{Code::Photon, 0}, {Code::Electron, -1}, {Code::Positron, -1}}}; Point const center_; //!< center of CONEX Earth ShowerAxis const& showerAxis_; diff --git a/corsika/modules/energy_loss/Properties8.dat b/corsika/modules/energy_loss/Properties8.dat index 377c3df77..33cd4ab97 100644 --- a/corsika/modules/energy_loss/Properties8.dat +++ b/corsika/modules/energy_loss/Properties8.dat @@ -2280,8 +2280,8 @@ heavymet in ATLAS calorimeter Note: Tungsten properties except for average Z/A used in calculations ---------------------------------------------------------------------------- 280 Heavy 5 -1.0000000000 0.40915 1.9300E+01 1.9300E+01 S 3 1 1 M - heavymet_in_Rochester_gamma_stop -heavymet as Rochester gamma stop + heavymet_in_Rochester_photon_stop +heavymet as Rochester photon stop 727.0 5.4059 0.2167 3.4960 0.15509 2.8447 0.14 28 1.000000 0.060000 29 0.615758 0.040000 diff --git a/corsika/modules/proposal/ContinuousProcess.hpp b/corsika/modules/proposal/ContinuousProcess.hpp index 0efbf12ec..c8895c8aa 100644 --- a/corsika/modules/proposal/ContinuousProcess.hpp +++ b/corsika/modules/proposal/ContinuousProcess.hpp @@ -24,7 +24,7 @@ namespace corsika::proposal { //! - //! Electro-magnetic and gamma continous losses produced by proposal. It makes + //! Electro-magnetic and photon continous losses produced by proposal. It makes //! use of interpolation tables which are runtime intensive calculation, but can be //! reused by setting the \param PROPOSAL::InterpolationDef::path_to_tables variable. //! diff --git a/corsika/modules/proposal/Interaction.hpp b/corsika/modules/proposal/Interaction.hpp index c6a389b1e..b492862f0 100644 --- a/corsika/modules/proposal/Interaction.hpp +++ b/corsika/modules/proposal/Interaction.hpp @@ -24,7 +24,7 @@ namespace corsika::proposal { //! - //! Electro-magnetic and gamma stochastic losses produced by proposal. It makes + //! Electro-magnetic and photon stochastic losses produced by proposal. It makes //! use of interpolation tables which are runtime intensive calculation, but can be //! reused by setting the \param PROPOSAL::InterpolationDef::path_to_tables variable. //! diff --git a/corsika/modules/proposal/ProposalProcessBase.hpp b/corsika/modules/proposal/ProposalProcessBase.hpp index cedad07ef..9692fdc46 100644 --- a/corsika/modules/proposal/ProposalProcessBase.hpp +++ b/corsika/modules/proposal/ProposalProcessBase.hpp @@ -24,7 +24,7 @@ namespace corsika::proposal { //! propagated and decayed if they decays. //! static constexpr std::array<Code, 7> tracked{ - Code::Gamma, Code::Electron, Code::Positron, Code::MuMinus, + Code::Photon, Code::Electron, Code::Positron, Code::MuMinus, Code::MuPlus, Code::TauPlus, Code::TauMinus, }; @@ -34,7 +34,7 @@ namespace corsika::proposal { //! particles may be created by reading out the Corsica constants. //! static std::map<Code, PROPOSAL::ParticleDef> particle = { - {Code::Gamma, PROPOSAL::GammaDef()}, {Code::Electron, PROPOSAL::EMinusDef()}, + {Code::Photon, PROPOSAL::GammaDef()}, {Code::Electron, PROPOSAL::EMinusDef()}, {Code::Positron, PROPOSAL::EPlusDef()}, {Code::MuMinus, PROPOSAL::MuMinusDef()}, {Code::MuPlus, PROPOSAL::MuPlusDef()}, {Code::TauMinus, PROPOSAL::TauMinusDef()}, {Code::TauPlus, PROPOSAL::TauPlusDef()}}; @@ -62,7 +62,7 @@ namespace corsika::proposal { static std::map<Code, std::function<PROPOSAL::crosssection_list_t<PROPOSAL::ParticleDef, PROPOSAL::Medium>( PROPOSAL::Medium&, corsika::units::si::HEPEnergyType)>> - cross = {{Code::Gamma, cross_builder<PROPOSAL::GammaDef>}, + cross = {{Code::Photon, cross_builder<PROPOSAL::GammaDef>}, {Code::Electron, cross_builder<PROPOSAL::EMinusDef>}, {Code::Positron, cross_builder<PROPOSAL::EPlusDef>}, {Code::MuMinus, cross_builder<PROPOSAL::MuMinusDef>}, diff --git a/examples/em_shower.cpp b/examples/em_shower.cpp index e4d8b3cc4..d4d24a879 100644 --- a/examples/em_shower.cpp +++ b/examples/em_shower.cpp @@ -148,7 +148,7 @@ int main(int argc, char** argv) { TrackWriter trackWriter("tracks.dat"); - // long. profile; columns for gamma, e+, e- still need to be added + // long. profile; columns for photon, e+, e- still need to be added LongitudinalProfile longprof{showerAxis}; Plane const obsPlane(showerCore, DirectionVector(rootCS, {0., 0., 1.})); diff --git a/src/framework/core/ParticleClassNames.xml b/src/framework/core/ParticleClassNames.xml index 1a8e249ea..8301d4b90 100644 --- a/src/framework/core/ParticleClassNames.xml +++ b/src/framework/core/ParticleClassNames.xml @@ -7,7 +7,7 @@ <particle pdgID="11" classname="Electron"/> <particle pdgID="-11" classname="Positron"/> - <particle pdgID="22" classname="Gamma"/> + <particle pdgID="22" classname="Photon"/> <particle pdgID="130" classname="K0Long"/> <particle pdgID="310" classname="K0Short"/> diff --git a/src/modules/sibyll/sibyll_codes.dat b/src/modules/sibyll/sibyll_codes.dat index d8cce42e4..a445af00d 100644 --- a/src/modules/sibyll/sibyll_codes.dat +++ b/src/modules/sibyll/sibyll_codes.dat @@ -19,7 +19,7 @@ TauMinus 91 0 CannotInteract TauPlus 90 0 CannotInteract NuTau 92 0 CannotInteract NuTauBar 93 0 CannotInteract -Gamma 1 0 CannotInteract +Photon 1 0 CannotInteract Pi0 6 1 Pion # rho0 could interact but sibyll has no cross section/interaction length. was used for gamma had int Rho0 27 0 CannotInteract diff --git a/tests/framework/testParticles.cpp b/tests/framework/testParticles.cpp index b74d836bc..3aba75bd3 100644 --- a/tests/framework/testParticles.cpp +++ b/tests/framework/testParticles.cpp @@ -24,7 +24,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { CHECK(Positron::code == Code::Positron); CHECK(Proton::code == Code::Proton); CHECK(Neutron::code == Code::Neutron); - CHECK(Gamma::code == Code::Gamma); + CHECK(Photon::code == Code::Photon); CHECK(PiPlus::code == Code::PiPlus); } @@ -71,7 +71,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { SECTION("Lifetimes") { CHECK(get_lifetime(Code::Electron) == std::numeric_limits<double>::infinity() * si::second); - CHECK(get_lifetime(Code::DPlus) < get_lifetime(Code::Gamma)); + CHECK(get_lifetime(Code::DPlus) < get_lifetime(Code::Photon)); CHECK(get_lifetime(Code::RhoPlus) / si::second == (Approx(4.414566727909413e-24).epsilon(1e-3))); CHECK(get_lifetime(Code::SigmaMinusBar) / si::second == @@ -90,7 +90,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { } SECTION("Particle groups: electromagnetic") { - CHECK(is_em(Code::Gamma)); + CHECK(is_em(Code::Photon)); CHECK(is_em(Code::Electron)); CHECK_FALSE(is_em(Code::MuPlus)); CHECK_FALSE(is_em(Code::NuE)); @@ -100,7 +100,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { } SECTION("Particle groups: hadrons") { - CHECK_FALSE(is_hadron(Code::Gamma)); + CHECK_FALSE(is_hadron(Code::Photon)); CHECK_FALSE(is_hadron(Code::Electron)); CHECK_FALSE(is_hadron(Code::MuPlus)); CHECK_FALSE(is_hadron(Code::NuE)); @@ -111,7 +111,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { } SECTION("Particle groups: muons") { - CHECK_FALSE(is_muon(Code::Gamma)); + CHECK_FALSE(is_muon(Code::Photon)); CHECK_FALSE(is_muon(Code::Electron)); CHECK(is_muon(Code::MuPlus)); CHECK(is_muon(Code::MuMinus)); @@ -122,7 +122,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { } SECTION("Particle groups: neutrinos") { - CHECK_FALSE(is_neutrino(Code::Gamma)); + CHECK_FALSE(is_neutrino(Code::Photon)); CHECK_FALSE(is_neutrino(Code::Electron)); CHECK_FALSE(is_neutrino(Code::MuPlus)); CHECK_FALSE(is_neutrino(Code::Proton)); @@ -138,7 +138,7 @@ TEST_CASE("ParticleProperties", "[Particles]") { } SECTION("Nuclei") { - CHECK_FALSE(is_nucleus(Code::Gamma)); + CHECK_FALSE(is_nucleus(Code::Photon)); CHECK(is_nucleus(Code::Argon)); CHECK_FALSE(is_nucleus(Code::Proton)); CHECK(is_nucleus(Code::Hydrogen)); diff --git a/tests/modules/conex_output_REF.txt b/tests/modules/conex_output_REF.txt index c609d74bd..f992dbf2e 100644 --- a/tests/modules/conex_output_REF.txt +++ b/tests/modules/conex_output_REF.txt @@ -1,4 +1,4 @@ -# X N dEdX Mu dMu Gamma El Had +# X N dEdX Mu dMu Photon El Had 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 diff --git a/tests/modules/testCONEX.cpp b/tests/modules/testCONEX.cpp index 34718d69b..19ab99768 100644 --- a/tests/modules/testCONEX.cpp +++ b/tests/modules/testCONEX.cpp @@ -110,7 +110,7 @@ TEST_CASE("CONEXSourceCut") { conex.addParticle(Code::Proton, Eem, 0_eV, emPosition, momentum.normalized(), 0_s); // supperimpose a photon auto const momentumPhoton = showerAxis.getDirection() * 1_TeV; - conex.addParticle(Code::Gamma, 1_TeV, 0_eV, emPosition, momentumPhoton.normalized(), + conex.addParticle(Code::Photon, 1_TeV, 0_eV, emPosition, momentumPhoton.normalized(), 0_s); conex.solveCE(); } diff --git a/tests/modules/testOnShellCheck.cpp b/tests/modules/testOnShellCheck.cpp index eccf73f28..dedd3b06b 100644 --- a/tests/modules/testOnShellCheck.cpp +++ b/tests/modules/testOnShellCheck.cpp @@ -39,7 +39,7 @@ TEST_CASE("OnShellCheck", "[processes]") { const HEPEnergyType E = 10_GeV; // list of arbitrary particles std::array const particleList{Code::PiPlus, Code::PiMinus, Code::Helium, - Code::Gamma, Code::Electron, Code::MuPlus}; + Code::Photon, Code::Electron, Code::MuPlus}; std::array const mass_shifts{1.1, 1.001, 1.0, 1.0, 1.01, 1.0}; diff --git a/tests/modules/testParticleCut.cpp b/tests/modules/testParticleCut.cpp index 1bc67084b..5041b08fb 100644 --- a/tests/modules/testParticleCut.cpp +++ b/tests/modules/testParticleCut.cpp @@ -150,7 +150,7 @@ TEST_CASE("ParticleCut", "processes") { auto projectile = view.getProjectile(); // add secondaries projectile.addSecondary(std::make_tuple( - Code::Gamma, 3_MeV, MomentumVector(rootCS, {0_GeV, 0_GeV, 0_GeV}), point0, 0_ns)); + Code::Photon, 3_MeV, MomentumVector(rootCS, {0_GeV, 0_GeV, 0_GeV}), point0, 0_ns)); projectile.addSecondary(std::make_tuple(Code::Electron, 3_MeV, MomentumVector(rootCS, {0_GeV, 0_GeV, 0_GeV}), point0, 0_ns)); diff --git a/tests/modules/testTracking.cpp b/tests/modules/testTracking.cpp index 87cd51e93..2040bc7fd 100644 --- a/tests/modules/testTracking.cpp +++ b/tests/modules/testTracking.cpp @@ -49,7 +49,7 @@ TEMPLATE_TEST_CASE("TrackingLeapfrog_Curved", "tracking", const HEPEnergyType P0 = 10_GeV; - auto PID = GENERATE(as<Code>{}, Code::MuPlus, Code::MuPlus, Code::Gamma); + auto PID = GENERATE(as<Code>{}, Code::MuPlus, Code::MuPlus, Code::Photon); // for algorithms that know magnetic deflections choose: +-50uT, 0uT // otherwise just 0uT auto Bfield = GENERATE(filter( -- GitLab