Computes muon energy losses in the energy range up to 10000 GeV.
Design & Example:
- Direct e+e- pair production
- Photo-nuclear interactions
MuEnergyLoss is the main "user-interface" method that delegates requests for dE/dx calculations
(to specialized objects modelling each energy loss process) and handes the cache.
Two input objects are used for configuring MuEnergyLoss:
- Material: Defines the muon transport medium. The user can set the properties of a
"custom" material or select from a list of default ones (either simple or compound)
- ModelSelector: Holds a Process_t -> Model_t association, used for attachning a
theoretical model to each energy loss process (e.g. Ionization -> Bethe Boch model)
MuELoss package does not access the database.
See also, MuELoss/test.C
MuEnergyLoss mueloss(material, model_selector);
const double E = 1e5; // MeV
cout << mueloss.dE_dx(E, Process::eIonization) << endl;
cout << mueloss.dE_dx(E, Process::eBremsstrahlung) << endl;
cout << mueloss.dE_dx(E, Process::ePairProduction) << endl;
cout << mueloss.dE_dx(E, Process::eNuclearInteraction) << endl;
MuELoss is a self-contained package with no dependencies on other MINOSSOFT packages.
It can be built using the SRT build system (a standard GNUmakefile is provided)
but you may also download and build it independently using the Makefile.nonSRT makefile.