MuELoss

Contents

Contact Name

Costas Andreopoulos.

Overview

Computes muon energy losses in the energy range up to 10000 GeV.

Modelled processes: Design & Example:

Input/Output

Input Objects

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:

Output Objects

none

Database Access

MuELoss package does not access the database.

Configuring & Running

See also, MuELoss/test.C

Example:
{
gSystem->Load("/my/lib/path/MuELoss.so");

// Specify a material
// You can use a custom one and set its properties OR use one of the standard materials.
Material material(StandardMaterial::eIron);

// Associate a theoretical model to each process
// The following line of code sets the default associations (recommended):
//     ionization <-> Bethe Bloch model,
//     bremsstrahlung <-> Petrukhin Shestakov model,
//     direct e+e- pair production <-> Kokoulin Petrukhin model,
//     photonuclear interactions <-> Bezrukov Bugaev model
// To override the defaults use ModelSelector::SetModel(Process::Process_t proc, Model::Model_t model);
ModelSelector model_selector;

// Instantiate a MuEnergyLoss object
MuEnergyLoss mueloss(material, model_selector);

// Ask the MuEnergyLoss object to calculate the dE/dx (in MeV cm^2 gr^-1) for the given energy/process
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;
}

Further Links & References

Comments

on buidling:
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.
Costas Andreopoulos