Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
bethe_bloch.h
Go to the documentation of this file.
1#ifndef BETHE_H
2#define BETHE_H
3
4namespace Heed {
5
6/// Ordinary Bethe-Bloch formula with various modifications.
7/// Based on K. Kleinknecht, "Detectors for particle radiation".
8/// 1998 - 2002, I. Smirnov
9
10double Bethe_Bloch_energy_loss(const double ratio_Z_to_A, const double I_eff,
11 const double beta, const double z);
12
13/// Safer version, using gamma - 1 instead of beta.
14double Bethe_Bloch_energy_loss_gamma_1(const double ratio_Z_to_A,
15 const double I_eff, const double gamma_1,
16 const double z);
17
19 const double ratio_Z_to_A, const double I_eff, const double m,
20 const double gamma_1, const double ecut, const double z);
21
22// ratio_Z_to_A: 1.0/(weight/mole), weight in internal units
23
24// z*e - the charge of ionizing particle
25// sign is not important, z is squared inside the function.
26// returns the positive value in units
27// [energy] / ([density][length])=[energy]*[length]^2 / [weight]
28// (internal units of CLHEP/Units/PhysicalConstants.h)
29// It means the energy transfer per unit density and per unit length passed.
30// To convert it to real values it need to multiply it by real density and
31// by real length.
32//
33// Averaging of ratio_Z_to_A by many atoms:
34// ---------------------------------------
35// In 1 gram of matter there are Avogadro/A particles.
36// If there are mixture of n atoms.
37// If Wi - weight by weights (sum(Wi) = 1),
38// in 1 gram of matter we should have
39// sum(Wi * Avogadro/Ai) = Avogadro * mean(1/Ai) particles,
40// and sum(Wi * Avogadro* Zi/Ai) = Avogadro * mean(Zi/Ai) electrons.
41// Here the notation mean(something) means sum(Wi*something).
42// If Wi - weight by atom numbers (sum(Wi) = 1),
43// in 1 gram of matter we should have sum(Ki * Avogadro/Ai) particles,
44// and sum(Ki * Avogadro* Zi/Ai) electrons;
45// K1*Avogadro/A1 : K2*Avogadro/A2 : ... =
46// W1 : W2 : ... .
47// Then
48// Ki = Ai * Wi / sum( Ai * Wi ).
49// Therefore the number of particles is Avogadro / mean(Ai)
50// and the number of electrons is Avogadro * mean(Zi) / mean(Ai)
51// Interesting relations!
52}
53
54#endif
Definition: BGMesh.cpp:6
double Bethe_Bloch_energy_loss_gamma_1(const double ratio_Z_to_A, const double I_eff, const double gamma_1, const double z)
Safer version, using gamma - 1 instead of beta.
Definition: bethe_bloch.cpp:34
double Bethe_Bloch_energy_loss(const double ratio_Z_to_A, const double I_eff, const double beta, const double z)
Definition: bethe_bloch.cpp:20
double Bethe_Bloch_restricted_energy_loss_gamma_1(const double ratio_Z_to_A, const double I_eff, const double m, const double gamma_1, const double ecut, const double z)
Definition: bethe_bloch.cpp:50