ParticleManager#
- class MCEq.particlemanager.ParticleManager(pdg_id_list, energy_grid, cs_db, medium='air')[source]#
Bases:
objectDatabase for objects of
MCEqParticle.- Authors:
Anatoli Fedynitch (DESY) Jonas Heinze (DESY)
Methods Summary
add_new_particle(new_mceq_particle)add_tracking_particle(parent_list, ...[, ...])Allows tracking decay and particle production chains.
keys()Returns pdg_ids of all particles
print_particle_tables([min_dbg_lev])set_continuous_losses(contloss_db)Set continuous losses terms to particles with ionization and radiation losses.
set_cross_sections_db(cs_db)Sets the production cross section to each interacting particle.
set_decay_channels(decay_db)Attaches the references to the decay yield tables to each unstable particle
set_interaction_model(cs_db, hadronic_db[, ...])Attaches the references to the hadronic yield tables to each projectile particle
track_leptons_from(parent_pdg_list, prefix)Adds tracking particles for all leptons coming from decays of parents in parent_pdg_list.
Methods Documentation
- add_tracking_particle(parent_list, child_pdg, alias_name, from_interactions=False, include_antiparticle=False)[source]#
Allows tracking decay and particle production chains.
Replaces previous
obs_particlefunction that allowed to track only leptons from decays certain particles. This present feature removes the special PDG IDs 71XX, 72XX, etc and allows to define any channel like:$ particleManagerInstance.add_tracking_particle([211], 14, 'pi_numu')
This will store muon neutrinos from pion decays under the alias ‘pi_numu’. Multiple parents are allowed:
$ particleManagerInstance.add_tracking_particle( [411, 421, 431], 14, 'D_numu')- Parameters:
alias (str) – Name alias under which the result is accessible in get_solution
parents (list) – list of parent particle PDG ID’s
child (int) – Child particle
from_interactions (bool) – track particles from interactions
- set_continuous_losses(contloss_db)[source]#
Set continuous losses terms to particles with ionization and radiation losses.
- set_cross_sections_db(cs_db)[source]#
Sets the production cross section to each interacting particle.
This applies to most of the hadrons and does not imply that the particle becomes a projectile. parents need in addition defined hadronic channels.
- set_decay_channels(decay_db)[source]#
Attaches the references to the decay yield tables to each unstable particle
- set_interaction_model(cs_db, hadronic_db, updated_parent_list=None, force=False)[source]#
Attaches the references to the hadronic yield tables to each projectile particle
- track_leptons_from(parent_pdg_list, prefix, exclude_em=True, from_interactions=False, use_helicities=False, include_antiparticle=False)[source]#
Adds tracking particles for all leptons coming from decays of parents in parent_pdg_list.
- Parameters:
parent_pdg_list (list) – PDG IDs of parent particles that leptons originate from
prefix (list) – prefix for each lepton name that will be identified as coming from these parent particles
exclude_em (bool, optional) – exclude electromagnetic (e+-, gamma) from leptons
from_interactions (bool, optional) – track particles coming from interactions of parents instead of decays
use_helicities (bool, optional) – ignore leptons with non-zero/defined helicity
include_antiparticle (bool, optional) – ex. [211, 321] will be automatically converted to [211,-211,321,-321]