|
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_ |
| framework::logging::logger | the_log_ |
Allows the configuration of properties of kaons produced in the simulation, in particular setting their lifetime and branching ratios.
Definition at line 23 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 50 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 82 of file KaonPhysics.h.
|
private |
Definition at line 90 of file KaonPhysics.h.
| simcore::KaonPhysics::KaonPhysics | ( | const G4String & | name, |
| const framework::config::Parameters & | parameters ) |
Definition at line 14 of file KaonPhysics.cxx.
|
override |
Construct/Update particles.
Update the particle definitions for charged kaons
Definition at line 79 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 142 of file KaonPhysics.h.
| void simcore::KaonPhysics::dumpDecayDetails | ( | const G4ParticleDefinition * | kaon | ) | const |
Definition at line 98 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 30 of file KaonPhysics.cxx.
|
private |
Definition at line 106 of file KaonPhysics.h.
|
private |
Definition at line 99 of file KaonPhysics.h.
|
private |
Definition at line 107 of file KaonPhysics.h.
|
private |
Definition at line 100 of file KaonPhysics.h.
|
private |
Definition at line 105 of file KaonPhysics.h.
|
private |
Definition at line 98 of file KaonPhysics.h.
|
private |
Definition at line 104 of file KaonPhysics.h.
|
private |
Definition at line 97 of file KaonPhysics.h.
|
mutableprivate |
Definition at line 145 of file KaonPhysics.h.