Geant4  10.03
G4UniversalFluctuation Class Reference

#include <G4UniversalFluctuation.hh>

+ Inheritance diagram for G4UniversalFluctuation:
+ Collaboration diagram for G4UniversalFluctuation:

Public Member Functions

 G4UniversalFluctuation (const G4String &nam="UniFluc")
 
virtual ~G4UniversalFluctuation ()
 
virtual G4double SampleFluctuations (const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double, G4double, G4double) override
 
virtual G4double Dispersion (const G4Material *, const G4DynamicParticle *, G4double, G4double) override
 
virtual void InitialiseMe (const G4ParticleDefinition *) final
 
virtual void SetParticleAndCharge (const G4ParticleDefinition *, G4double q2) final
 
- Public Member Functions inherited from G4VEmFluctuationModel
 G4VEmFluctuationModel (const G4String &nam)
 
virtual ~G4VEmFluctuationModel ()
 
const G4StringGetName () const
 

Private Member Functions

void AddExcitation (CLHEP::HepRandomEngine *rndm, G4double a, G4double e, G4double &eav, G4double &eloss, G4double &esig2)
 
void SampleGauss (CLHEP::HepRandomEngine *rndm, G4double eav, G4double esig2, G4double &eloss)
 
G4UniversalFluctuationoperator= (const G4UniversalFluctuation &right)=delete
 
 G4UniversalFluctuation (const G4UniversalFluctuation &)=delete
 

Private Attributes

const G4ParticleDefinitionparticle
 
const G4MateriallastMaterial
 
G4double particleMass
 
G4double m_Inv_particleMass
 
G4double m_massrate
 
G4double chargeSquare
 
G4double ipotFluct
 
G4double electronDensity
 
G4double f1Fluct
 
G4double f2Fluct
 
G4double e1Fluct
 
G4double e2Fluct
 
G4double e1LogFluct
 
G4double e2LogFluct
 
G4double ipotLogFluct
 
G4double e0
 
G4double esmall
 
G4double e1
 
G4double e2
 
G4double minNumberInteractionsBohr
 
G4double minLoss
 
G4double nmaxCont
 
G4double rate
 
G4double fw
 
G4int sizearray
 
G4doublerndmarray
 

Detailed Description

Definition at line 64 of file G4UniversalFluctuation.hh.

Constructor & Destructor Documentation

G4UniversalFluctuation::G4UniversalFluctuation ( const G4String nam = "UniFluc")
explicit
G4UniversalFluctuation::~G4UniversalFluctuation ( )
virtual

Definition at line 107 of file G4UniversalFluctuation.cc.

References rndmarray.

G4UniversalFluctuation::G4UniversalFluctuation ( const G4UniversalFluctuation )
privatedelete

Member Function Documentation

void G4UniversalFluctuation::AddExcitation ( CLHEP::HepRandomEngine *  rndm,
G4double  a,
G4double  e,
G4double eav,
G4double eloss,
G4double esig2 
)
inlineprivate

Definition at line 144 of file G4UniversalFluctuation.hh.

References G4Poisson(), and nmaxCont.

Referenced by SampleFluctuations().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4UniversalFluctuation::Dispersion ( const G4Material material,
const G4DynamicParticle dp,
G4double  tmax,
G4double  length 
)
overridevirtual

Implements G4VEmFluctuationModel.

Definition at line 333 of file G4UniversalFluctuation.cc.

References chargeSquare, electronDensity, G4InuclParticleNames::gam, G4DynamicParticle::GetDefinition(), G4Material::GetElectronDensity(), G4DynamicParticle::GetKineticEnergy(), InitialiseMe(), m_Inv_particleMass, and particle.

+ Here is the call graph for this function:

void G4UniversalFluctuation::InitialiseMe ( const G4ParticleDefinition part)
finalvirtual

Reimplemented from G4VEmFluctuationModel.

Definition at line 114 of file G4UniversalFluctuation.cc.

References chargeSquare, eplus, G4ParticleDefinition::GetPDGCharge(), G4ParticleDefinition::GetPDGMass(), m_Inv_particleMass, m_massrate, particle, and particleMass.

Referenced by Dispersion(), G4IonFluctuations::InitialiseMe(), and SampleFluctuations().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4UniversalFluctuation& G4UniversalFluctuation::operator= ( const G4UniversalFluctuation right)
privatedelete
G4double G4UniversalFluctuation::SampleFluctuations ( const G4MaterialCutsCouple couple,
const G4DynamicParticle dp,
G4double  tmax,
G4double  length,
G4double  averageLoss 
)
overridevirtual
void G4UniversalFluctuation::SampleGauss ( CLHEP::HepRandomEngine *  rndm,
G4double  eav,
G4double  esig2,
G4double eloss 
)
inlineprivate

Definition at line 159 of file G4UniversalFluctuation.hh.

References G4INCL::Math::min(), and G4INCL::DeJongSpin::shoot().

Referenced by SampleFluctuations().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4UniversalFluctuation::SetParticleAndCharge ( const G4ParticleDefinition part,
G4double  q2 
)
finalvirtual

Reimplemented from G4VEmFluctuationModel.

Definition at line 355 of file G4UniversalFluctuation.cc.

References chargeSquare, DBL_MAX, G4ParticleDefinition::GetPDGMass(), m_Inv_particleMass, m_massrate, particle, and particleMass.

Referenced by G4IonFluctuations::SetParticleAndCharge().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4UniversalFluctuation::chargeSquare
private
G4double G4UniversalFluctuation::e0
private

Definition at line 125 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1
private

Definition at line 128 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1Fluct
private

Definition at line 120 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1LogFluct
private

Definition at line 122 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2
private

Definition at line 128 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2Fluct
private

Definition at line 121 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2LogFluct
private

Definition at line 123 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::electronDensity
private
G4double G4UniversalFluctuation::esmall
private

Definition at line 126 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::f1Fluct
private

Definition at line 118 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::f2Fluct
private

Definition at line 119 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::fw
private

Definition at line 133 of file G4UniversalFluctuation.hh.

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::ipotFluct
private

Definition at line 115 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::ipotLogFluct
private

Definition at line 124 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

const G4Material* G4UniversalFluctuation::lastMaterial
private

Definition at line 105 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::m_Inv_particleMass
private
G4double G4UniversalFluctuation::m_massrate
private
G4double G4UniversalFluctuation::minLoss
private

Definition at line 131 of file G4UniversalFluctuation.hh.

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::minNumberInteractionsBohr
private

Definition at line 130 of file G4UniversalFluctuation.hh.

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::nmaxCont
private

Definition at line 132 of file G4UniversalFluctuation.hh.

Referenced by AddExcitation(), and SampleFluctuations().

const G4ParticleDefinition* G4UniversalFluctuation::particle
private
G4double G4UniversalFluctuation::particleMass
private
G4double G4UniversalFluctuation::rate
private

Definition at line 133 of file G4UniversalFluctuation.hh.

Referenced by SampleFluctuations().

G4double* G4UniversalFluctuation::rndmarray
private
G4int G4UniversalFluctuation::sizearray
private

Definition at line 135 of file G4UniversalFluctuation.hh.

Referenced by G4UniversalFluctuation(), and SampleFluctuations().


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