Geant4  10.03
G4MuonVDNuclearModel Class Reference

#include <G4MuonVDNuclearModel.hh>

+ Inheritance diagram for G4MuonVDNuclearModel:
+ Collaboration diagram for G4MuonVDNuclearModel:

Public Member Functions

 G4MuonVDNuclearModel ()
 
virtual ~G4MuonVDNuclearModel ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
virtual void ModelDescription (std::ostream &outFile) const
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void InitialiseModel ()
 

Private Member Functions

G4DynamicParticleCalculateEMVertex (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
void CalculateHadronicVertex (G4DynamicParticle *incident, G4Nucleus &target)
 
void MakeSamplingTable ()
 
G4MuonVDNuclearModeloperator= (const G4MuonVDNuclearModel &right)=delete
 
 G4MuonVDNuclearModel (const G4MuonVDNuclearModel &)=delete
 

Private Attributes

G4double CutFixed
 
G4bool isMaster
 
G4KokoulinMuonNuclearXSmuNucXS
 
G4TheoFSGeneratorftfp
 
G4LundStringFragmentationtheFragmentation
 
G4ExcitedStringDecaytheStringDecay
 
G4CascadeInterfacebert
 

Static Private Attributes

static const G4int NBIN = 800
 
static const G4int nzdat = 5
 
static const G4int ntdat = 73
 
static const G4int zdat [nzdat] = {1, 4, 13, 29, 92}
 
static const G4double adat [nzdat] = {1.01,9.01,26.98,63.55,238.03}
 
static const G4double tdat [ntdat]
 
static G4ElementDatafElementData = nullptr
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 50 of file G4MuonVDNuclearModel.hh.

Constructor & Destructor Documentation

G4MuonVDNuclearModel::~G4MuonVDNuclearModel ( )
virtual

Definition at line 110 of file G4MuonVDNuclearModel.cc.

References fElementData, isMaster, theFragmentation, and theStringDecay.

G4MuonVDNuclearModel::G4MuonVDNuclearModel ( const G4MuonVDNuclearModel )
privatedelete

Member Function Documentation

G4HadFinalState * G4MuonVDNuclearModel::ApplyYourself ( const G4HadProjectile aTrack,
G4Nucleus targetNucleus 
)
virtual
G4DynamicParticle * G4MuonVDNuclearModel::CalculateEMVertex ( const G4HadProjectile aTrack,
G4Nucleus targetNucleus 
)
private

Definition at line 145 of file G4MuonVDNuclearModel.cc.

References CutFixed, fElementData, G4endl, G4Exception(), G4Exp(), G4Log(), G4UniformRand, G4Gamma::Gamma(), G4HadProjectile::Get4Momentum(), G4ElementData::GetElement2DData(), G4Pow::GetInstance(), G4HadProjectile::GetKineticEnergy(), G4ParticleDefinition::GetPDGMass(), G4HadProjectile::GetTotalEnergy(), G4Physics2DVector::GetValue(), G4Physics2DVector::GetX(), G4Nucleus::GetZ_asInt(), isAlive, JustWarning, G4Pow::logZ(), G4MuonMinus::MuonMinus(), NBIN, ntdat, nzdat, G4HadFinalState::SetEnergyChange(), G4HadFinalState::SetMomentumChange(), G4HadFinalState::SetStatusChange(), tdat, G4HadronicInteraction::theParticleChange, twopi, and zdat.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MuonVDNuclearModel::CalculateHadronicVertex ( G4DynamicParticle incident,
G4Nucleus target 
)
private

Definition at line 278 of file G4MuonVDNuclearModel.cc.

References G4HadFinalState::AddSecondaries(), G4TheoFSGenerator::ApplyYourself(), G4CascadeInterface::ApplyYourself(), bert, ftfp, G4DynamicParticle::GetMomentumDirection(), G4ParticleDefinition::GetPDGMass(), G4DynamicParticle::GetTotalEnergy(), GeV, G4PionZero::PionZero(), and G4HadronicInteraction::theParticleChange.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MuonVDNuclearModel::MakeSamplingTable ( )
private

Definition at line 306 of file G4MuonVDNuclearModel.cc.

References adat, G4KokoulinMuonNuclearXS::ComputeDDMicroscopicCrossSection(), CutFixed, fElementData, g, G4Exp(), G4Log(), G4ParticleDefinition::GetPDGMass(), G4ElementData::InitialiseForElement(), mole, muNucXS, G4MuonMinus::MuonMinus(), NBIN, ntdat, nzdat, tdat, and zdat.

Referenced by G4MuonVDNuclearModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MuonVDNuclearModel::ModelDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 389 of file G4MuonVDNuclearModel.cc.

G4MuonVDNuclearModel& G4MuonVDNuclearModel::operator= ( const G4MuonVDNuclearModel right)
privatedelete

Member Data Documentation

const G4double G4MuonVDNuclearModel::adat = {1.01,9.01,26.98,63.55,238.03}
staticprivate

Definition at line 80 of file G4MuonVDNuclearModel.hh.

Referenced by MakeSamplingTable().

G4CascadeInterface* G4MuonVDNuclearModel::bert
private

Definition at line 93 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateHadronicVertex(), and G4MuonVDNuclearModel().

G4double G4MuonVDNuclearModel::CutFixed
private
G4ElementData * G4MuonVDNuclearModel::fElementData = nullptr
staticprivate
G4TheoFSGenerator* G4MuonVDNuclearModel::ftfp
private

Definition at line 90 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateHadronicVertex(), and G4MuonVDNuclearModel().

G4bool G4MuonVDNuclearModel::isMaster
private

Definition at line 86 of file G4MuonVDNuclearModel.hh.

Referenced by G4MuonVDNuclearModel(), and ~G4MuonVDNuclearModel().

G4KokoulinMuonNuclearXS* G4MuonVDNuclearModel::muNucXS
private

Definition at line 88 of file G4MuonVDNuclearModel.hh.

Referenced by G4MuonVDNuclearModel(), and MakeSamplingTable().

const G4int G4MuonVDNuclearModel::NBIN = 800
staticprivate

Definition at line 75 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateEMVertex(), and MakeSamplingTable().

const G4int G4MuonVDNuclearModel::ntdat = 73
staticprivate

Definition at line 77 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateEMVertex(), and MakeSamplingTable().

const G4int G4MuonVDNuclearModel::nzdat = 5
staticprivate

Definition at line 76 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateEMVertex(), and MakeSamplingTable().

const G4double G4MuonVDNuclearModel::tdat
staticprivate
Initial value:
= {
1.e3,2.e3,3.e3,4.e3,5.e3,6.e3,7.e3,8.e3,9.e3,
1.e4,2.e4,3.e4,4.e4,5.e4,6.e4,7.e4,8.e4,9.e4,
1.e5,2.e5,3.e5,4.e5,5.e5,6.e5,7.e5,8.e5,9.e5,
1.e6,2.e6,3.e6,4.e6,5.e6,6.e6,7.e6,8.e6,9.e6,
1.e7,2.e7,3.e7,4.e7,5.e7,6.e7,7.e7,8.e7,9.e7,
1.e8,2.e8,3.e8,4.e8,5.e8,6.e8,7.e8,8.e8,9.e8,
1.e9,2.e9,3.e9,4.e9,5.e9,6.e9,7.e9,8.e9,9.e9,
1.e10,2.e10,3.e10,4.e10,5.e10,6.e10,7.e10,8.e10,9.e10,1.e11}

Definition at line 81 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateEMVertex(), and MakeSamplingTable().

G4LundStringFragmentation* G4MuonVDNuclearModel::theFragmentation
private

Definition at line 91 of file G4MuonVDNuclearModel.hh.

Referenced by G4MuonVDNuclearModel(), and ~G4MuonVDNuclearModel().

G4ExcitedStringDecay* G4MuonVDNuclearModel::theStringDecay
private

Definition at line 92 of file G4MuonVDNuclearModel.hh.

Referenced by G4MuonVDNuclearModel(), and ~G4MuonVDNuclearModel().

const G4int G4MuonVDNuclearModel::zdat = {1, 4, 13, 29, 92}
staticprivate

Definition at line 79 of file G4MuonVDNuclearModel.hh.

Referenced by CalculateEMVertex(), and MakeSamplingTable().


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