ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4UniversalFluctuation Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/standard/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 a0
 
G4double fw
 
G4int sizearray
 
G4doublerndmarray
 

Detailed Description

Definition at line 57 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 57 of file G4UniversalFluctuation.hh

Constructor & Destructor Documentation

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

Definition at line 83 of file G4UniversalFluctuation.cc.

View newest version in sPHENIX GitHub at line 83 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 137 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 137 of file G4UniversalFluctuation.hh

References CLHEP::HepRandomEngine::flat(), 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 287 of file G4UniversalFluctuation.cc.

View newest version in sPHENIX GitHub at line 287 of file G4UniversalFluctuation.cc

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

+ Here is the call graph for this function:

void G4UniversalFluctuation::InitialiseMe ( const G4ParticleDefinition part)
finalvirtual

Reimplemented from G4VEmFluctuationModel.

Definition at line 90 of file G4UniversalFluctuation.cc.

View newest version in sPHENIX GitHub at line 90 of file G4UniversalFluctuation.cc

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

Referenced by Dispersion(), G4AtimaFluctuations::InitialiseMe(), 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

Implements G4VEmFluctuationModel.

Definition at line 105 of file G4UniversalFluctuation.cc.

View newest version in sPHENIX GitHub at line 105 of file G4UniversalFluctuation.cc

References a0, AddExcitation(), C(), chargeSquare, e0, e1, e1Fluct, e1LogFluct, e2, e2Fluct, e2LogFluct, source.hepunit::electron_mass_c2, electronDensity, esmall, f1Fluct, f2Fluct, CLHEP::HepRandomEngine::flatArray(), fw, G4Log(), G4Poisson(), G4InuclParticleNames::gam, G4DynamicParticle::GetDefinition(), G4Material::GetElectronDensity(), G4IonisParamMat::GetEnergy0fluct(), G4IonisParamMat::GetEnergy1fluct(), G4IonisParamMat::GetEnergy2fluct(), G4IonisParamMat::GetF1fluct(), G4IonisParamMat::GetF2fluct(), G4Material::GetIonisation(), G4DynamicParticle::GetKineticEnergy(), G4IonisParamMat::GetLogEnergy1fluct(), G4IonisParamMat::GetLogEnergy2fluct(), G4IonisParamMat::GetLogMeanExcEnergy(), G4MaterialCutsCouple::GetMaterial(), G4IonisParamMat::GetMeanExcitationEnergy(), InitialiseMe(), ipotFluct, ipotLogFluct, k, CLHEP::keV, lastMaterial, m_Inv_particleMass, m_massrate, material(), min, minLoss, minNumberInteractionsBohr, nmaxCont, particle, particleMass, rate, rndmarray, SampleGauss(), G4INCL::DeJongSpin::shoot(), sizearray, sn, source.hepunit::twopi_mc2_rcl2, and w.

Referenced by G4IonFluctuations::SampleFluctuations().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4UniversalFluctuation::SampleGauss ( CLHEP::HepRandomEngine rndm,
G4double  eav,
G4double  esig2,
G4double eloss 
)
inlineprivate

Definition at line 151 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 151 of file G4UniversalFluctuation.hh

References CLHEP::HepRandomEngine::flat(), G4INCL::DeJongSpin::shoot(), and x.

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 309 of file G4UniversalFluctuation.cc.

View newest version in sPHENIX GitHub at line 309 of file G4UniversalFluctuation.cc

References chargeSquare, DBL_MAX, source.hepunit::electron_mass_c2, G4ParticleDefinition::GetPDGMass(), m_Inv_particleMass, m_massrate, part, particle, and particleMass.

Referenced by G4AtimaFluctuations::SetParticleAndCharge(), and G4IonFluctuations::SetParticleAndCharge().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4UniversalFluctuation::a0
private

Definition at line 126 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 126 of file G4UniversalFluctuation.hh

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::chargeSquare
private

Definition at line 105 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 105 of file G4UniversalFluctuation.hh

Referenced by Dispersion(), G4UniversalFluctuation(), InitialiseMe(), SampleFluctuations(), and SetParticleAndCharge().

G4double G4UniversalFluctuation::e0
private

Definition at line 118 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 118 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1
private

Definition at line 121 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 121 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1Fluct
private

Definition at line 113 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 113 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e1LogFluct
private

Definition at line 115 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 115 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2
private

Definition at line 121 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 121 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2Fluct
private

Definition at line 114 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 114 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::e2LogFluct
private

Definition at line 116 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 116 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::electronDensity
private

Definition at line 109 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 109 of file G4UniversalFluctuation.hh

Referenced by Dispersion(), G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::esmall
private

Definition at line 119 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 119 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::f1Fluct
private

Definition at line 111 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 111 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::f2Fluct
private

Definition at line 112 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 112 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::fw
private

Definition at line 126 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 126 of file G4UniversalFluctuation.hh

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::ipotFluct
private

Definition at line 108 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 108 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::ipotLogFluct
private

Definition at line 117 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 117 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

const G4Material* G4UniversalFluctuation::lastMaterial
private

Definition at line 98 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 98 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().

G4double G4UniversalFluctuation::m_Inv_particleMass
private

Definition at line 103 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 103 of file G4UniversalFluctuation.hh

Referenced by Dispersion(), G4UniversalFluctuation(), InitialiseMe(), SampleFluctuations(), and SetParticleAndCharge().

G4double G4UniversalFluctuation::m_massrate
private

Definition at line 104 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 104 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), InitialiseMe(), SampleFluctuations(), and SetParticleAndCharge().

G4double G4UniversalFluctuation::minLoss
private

Definition at line 124 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 124 of file G4UniversalFluctuation.hh

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::minNumberInteractionsBohr
private

Definition at line 123 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 123 of file G4UniversalFluctuation.hh

Referenced by SampleFluctuations().

G4double G4UniversalFluctuation::nmaxCont
private

Definition at line 125 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 125 of file G4UniversalFluctuation.hh

Referenced by AddExcitation(), and SampleFluctuations().

const G4ParticleDefinition* G4UniversalFluctuation::particle
private

Definition at line 97 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 97 of file G4UniversalFluctuation.hh

Referenced by Dispersion(), InitialiseMe(), SampleFluctuations(), and SetParticleAndCharge().

G4double G4UniversalFluctuation::particleMass
private

Definition at line 100 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 100 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), InitialiseMe(), SampleFluctuations(), and SetParticleAndCharge().

G4double G4UniversalFluctuation::rate
private

Definition at line 126 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 126 of file G4UniversalFluctuation.hh

Referenced by SampleFluctuations().

G4double* G4UniversalFluctuation::rndmarray
private

Definition at line 129 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 129 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), SampleFluctuations(), and ~G4UniversalFluctuation().

G4int G4UniversalFluctuation::sizearray
private

Definition at line 128 of file G4UniversalFluctuation.hh.

View newest version in sPHENIX GitHub at line 128 of file G4UniversalFluctuation.hh

Referenced by G4UniversalFluctuation(), and SampleFluctuations().


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