LDMX Software
|
Allows the configuration of properties of kaons produced in the simulation, in particular setting their lifetime and branching ratios. More...
#include <KaonPhysics.h>
Public Member Functions | |
KaonPhysics (const G4String &name, const framework::config::Parameters ¶meters) | |
void | setDecayProperties (G4ParticleDefinition *kaon, const std::vector< double > &branching_ratios, double lifetime_factor) const |
Set the lifetime and branching ratios for one of the kaon species. | |
void | ConstructParticle () override |
Construct/Update particles. | |
void | DumpDecayDetails (const G4ParticleDefinition *kaon) const |
void | ConstructProcess () override |
Construct processes. | |
Private Types | |
enum | ChargedKaonDecayChannel { mu_nu = 0 , pi_pi0 = 1 , pi_pi_pi = 2 , pi0_e_nu = 3 , pi0_mu_nu = 4 , pi_pi0_pi0 = 5 } |
Represents the 6 possible decay channels for charged kaons in Geant4 (See G4KaonMinus.cc and G4KaonPlus.cc in the Geant4 sources) in the order they appear in the decay table. More... | |
enum | KaonZeroLongDecayChannel { pim_e_nu = 0 , pip_e_nu = 1 , pi0_pi0_pi0 = 2 , pim_mu_nu = 3 , pip_mu_nu = 4 , pi0_pip_pim = 5 } |
Corresponding entries for the K^0_L. More... | |
enum | KaonZeroShortDecayChannel { pip_pim = 0 , pi0_pi0 = 1 } |
Private Attributes | |
double | kplus_lifetime_factor {1} |
double | kminus_lifetime_factor {1} |
double | k0l_lifetime_factor {1} |
double | k0s_lifetime_factor {1} |
std::vector< double > | kplus_branching_ratios |
std::vector< double > | kminus_branching_ratios |
std::vector< double > | k0l_branching_ratios |
std::vector< double > | k0s_branching_ratios |
int | verbosity |
framework::logging::logger | theLog_ |
Allows the configuration of properties of kaons produced in the simulation, in particular setting their lifetime and branching ratios.
Definition at line 32 of file KaonPhysics.h.
|
private |
Represents the 6 possible decay channels for charged kaons in Geant4 (See G4KaonMinus.cc and G4KaonPlus.cc in the Geant4 sources) in the order they appear in the decay table.
The processes are K^+ -> \mu^+ + \nu_\mu K^+ -> \pi^+ + \pi^0 K^+ -> \pi^+ + \pi^- + \pi^+ K^+ -> \pi^0 + e^+ + \nu_e K^+ -> \pi^0 + \mu^+ + \nu_\mu K^+ -> \pi^+ + \pi^0 + \pi^0
And vice versa for K^-. The indices here correspond to the position of the branching ratio for that process in the corresponding parameter as well as the position in the decay table.
Definition at line 59 of file KaonPhysics.h.
|
private |
Corresponding entries for the K^0_L.
Note that K^0_L and K^0_S decays are not symmetric like the charged ones so they need to be handled manually.
The processes are
K^0_L -> \pi^- + e^+ + \nu_e K^0_L -> \pi^+ + e^- + \nu_e K^0_L -> \pi^0 + \pi^0 + \pi^0 K^0_L -> \pi^- + \mu^+ + \nu_\mu K^0_L -> \pi^+ + \mu^- + \nu_\mu K^0_L -> \pi^0 + \pi^+ + \pi^-
and
K^0_S -> \pi^+ + \pi^- K^0_S -> \pi^0 + \pi^0
Definition at line 91 of file KaonPhysics.h.
|
private |
Definition at line 99 of file KaonPhysics.h.
simcore::KaonPhysics::KaonPhysics | ( | const G4String & | name, |
const framework::config::Parameters & | parameters | ||
) |
Definition at line 4 of file KaonPhysics.cxx.
|
override |
Construct/Update particles.
Update the particle definitions for charged kaons
Definition at line 77 of file KaonPhysics.cxx.
|
inlineoverride |
Construct processes.
We don't do anything here since we are just attaching/updating the kaon particle definitions.
Definition at line 155 of file KaonPhysics.h.
void simcore::KaonPhysics::DumpDecayDetails | ( | const G4ParticleDefinition * | kaon | ) | const |
Definition at line 95 of file KaonPhysics.cxx.
void simcore::KaonPhysics::setDecayProperties | ( | G4ParticleDefinition * | kaon, |
const std::vector< double > & | branching_ratios, | ||
double | lifetime_factor | ||
) | const |
Set the lifetime and branching ratios for one of the kaon species.
Definition at line 23 of file KaonPhysics.cxx.
|
private |
Definition at line 115 of file KaonPhysics.h.
|
private |
Definition at line 108 of file KaonPhysics.h.
|
private |
Definition at line 116 of file KaonPhysics.h.
|
private |
Definition at line 109 of file KaonPhysics.h.
|
private |
Definition at line 114 of file KaonPhysics.h.
|
private |
Definition at line 107 of file KaonPhysics.h.
|
private |
Definition at line 113 of file KaonPhysics.h.
|
private |
Definition at line 106 of file KaonPhysics.h.
|
mutableprivate |
Definition at line 158 of file KaonPhysics.h.
|
private |
Definition at line 120 of file KaonPhysics.h.