ParticleManager#

class MCEq.particlemanager.ParticleManager(pdg_id_list, energy_grid, cs_db, medium='air')[source]#

Bases: object

Database 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_new_particle(new_mceq_particle)[source]#
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_particle function 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

keys()[source]#

Returns pdg_ids of all particles

print_particle_tables(min_dbg_lev=2)[source]#
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]