All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
sistrip::SiEnergyFluct Class Reference

Special class providing particle energy loss fluctuations in Si material (Landau fluctuations). More...

#include <SiEnergyFluct.h>

Public Member Functions

 SiEnergyFluct (double cutOnDeltaRays)
 Constructor. More...
 
 ~SiEnergyFluct ()
 Destructor. More...
 
double SampleFluctuations (const MCParticle *part, const double length)
 Method providing energy loss fluctuations, the model used to get the fluctuations is essentially the same as in Glandz in Geant3 (Cern program library W5013, phys332). More...
 

Private Member Functions

double getHadronDEDX (const MCParticle *part)
 Method calculating actual dEdx for hadrons - based on ComputeDEDXPerVolume method from G4BetheBlochModel Geant4 class. More...
 
double getMuonDEDX (const MCParticle *part)
 Method calculating actual dEdx for muons - based on ComputeDEDXPerVolume method from G4MuBetheBlochModel Geant4 class. More...
 
double getElectronDEDX (const MCParticle *part)
 Method calculating actual dEdx for electrons & positrons - based on ComputeDEDXPerVolume method G4MollerBhabhaModel from Geant4 class. More...
 

Private Attributes

const MCParticle * _prevMCPart
 
double _prevMeanLoss
 
double _cutOnDeltaRays
 Cut on secondary electrons - must be the same as in Geant4. More...
 
double _twoln10
 
double _eexc
 
double _eexc2
 
double _KBethe
 
double _Zeff
 
double _th
 
double _aden
 
double _cden
 
double _mden
 
double _x0den
 
double _x1den
 
double _xgi [8]
 
double _wgi [8]
 
double _limitKinEnergy
 
double _logLimitKinEnergy
 
double _alphaPrime
 
double _minLoss
 
double _minNumberInteractionsBohr
 
double _nmaxCont1
 
double _nmaxCont2
 
double _facwidth
 
double _f1Fluct
 
double _f2Fluct
 
double _e1Fluct
 
double _e2Fluct
 
double _e1LogFluct
 
double _e2LogFluct
 
double _ipotFluct
 
double _ipotLogFluct
 
double _e0
 

Detailed Description

Special class providing particle energy loss fluctuations in Si material (Landau fluctuations).

The main method simply follows the strategy taken in Geant4 class G4UniversalFluctuation by V. Ivanchenko. As the fluctuation is strongly dependent on particle type and it's energy, detailed calculations of mean ionisation losses have been implemented as well. The differ for hadrons (follows Geant4 class G4BetheBlochModel), muons (follows Geant4 class G4MuBetheBlochModel) and electrons & positrons (follows Geant4 class G4MollerBhabhaModel) ... All the details about physics used can be found in http://cern.ch/geant4/UserDocumentation/UsersGuides/PhysicsReferenceManual/fo/PhysicsReferenceManual.pdf

Author
Z. Drasal, Charles University, Prague

Definition at line 63 of file SiEnergyFluct.h.

Constructor & Destructor Documentation

sistrip::SiEnergyFluct::SiEnergyFluct ( double  cutOnDeltaRays)

Constructor.

Definition at line 58 of file SiEnergyFluct.cc.

sistrip::SiEnergyFluct::~SiEnergyFluct ( )

Destructor.

Definition at line 113 of file SiEnergyFluct.cc.

Member Function Documentation

double sistrip::SiEnergyFluct::getElectronDEDX ( const MCParticle *  part)
private

Method calculating actual dEdx for electrons & positrons - based on ComputeDEDXPerVolume method G4MollerBhabhaModel from Geant4 class.

Definition at line 459 of file SiEnergyFluct.cc.

double sistrip::SiEnergyFluct::getHadronDEDX ( const MCParticle *  part)
private

Method calculating actual dEdx for hadrons - based on ComputeDEDXPerVolume method from G4BetheBlochModel Geant4 class.

Definition at line 335 of file SiEnergyFluct.cc.

double sistrip::SiEnergyFluct::getMuonDEDX ( const MCParticle *  part)
private

Method calculating actual dEdx for muons - based on ComputeDEDXPerVolume method from G4MuBetheBlochModel Geant4 class.

Definition at line 390 of file SiEnergyFluct.cc.

double sistrip::SiEnergyFluct::SampleFluctuations ( const MCParticle *  part,
const double  length 
)

Method providing energy loss fluctuations, the model used to get the fluctuations is essentially the same as in Glandz in Geant3 (Cern program library W5013, phys332).

L. Urban et al. NIM A362, p.416 (1995) and Geant4 Physics Reference Manual

Definition at line 121 of file SiEnergyFluct.cc.

Member Data Documentation

double sistrip::SiEnergyFluct::_aden
private

Definition at line 113 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_alphaPrime
private

Definition at line 124 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_cden
private

Definition at line 114 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_cutOnDeltaRays
private

Cut on secondary electrons - must be the same as in Geant4.

Definition at line 100 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_e0
private

Definition at line 141 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_e1Fluct
private

Definition at line 135 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_e1LogFluct
private

Definition at line 137 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_e2Fluct
private

Definition at line 136 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_e2LogFluct
private

Definition at line 138 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_eexc
private

Definition at line 106 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_eexc2
private

Definition at line 107 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_f1Fluct
private

Definition at line 133 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_f2Fluct
private

Definition at line 134 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_facwidth
private

Definition at line 132 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_ipotFluct
private

Definition at line 139 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_ipotLogFluct
private

Definition at line 140 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_KBethe
private

Definition at line 108 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_limitKinEnergy
private

Definition at line 122 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_logLimitKinEnergy
private

Definition at line 123 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_mden
private

Definition at line 115 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_minLoss
private

Definition at line 127 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_minNumberInteractionsBohr
private

Definition at line 128 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_nmaxCont1
private

Definition at line 129 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_nmaxCont2
private

Definition at line 130 of file SiEnergyFluct.h.

const MCParticle* sistrip::SiEnergyFluct::_prevMCPart
private

Definition at line 94 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_prevMeanLoss
private

Definition at line 97 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_th
private

Definition at line 110 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_twoln10
private

Definition at line 103 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_wgi[8]
private

Definition at line 120 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_x0den
private

Definition at line 116 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_x1den
private

Definition at line 117 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_xgi[8]
private

Definition at line 119 of file SiEnergyFluct.h.

double sistrip::SiEnergyFluct::_Zeff
private

Definition at line 109 of file SiEnergyFluct.h.


The documentation for this class was generated from the following files: