Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4HadProjectile Class Reference

#include <G4HadProjectile.hh>

Public Member Functions

 G4HadProjectile ()
 
 G4HadProjectile (const G4Track &aT)
 
 G4HadProjectile (const G4DynamicParticle &aT)
 
 ~G4HadProjectile ()
 
void Initialise (const G4Track &aT)
 
const G4MaterialGetMaterial () const
 
const G4ParticleDefinitionGetDefinition () const
 
const G4LorentzVectorGet4Momentum () const
 
G4LorentzRotationGetTrafoToLab ()
 
G4double GetKineticEnergy () const
 
G4double GetTotalEnergy () const
 
G4double GetTotalMomentum () const
 
G4double GetGlobalTime () const
 
G4double GetBoundEnergy () const
 
void SetGlobalTime (G4double t)
 
void SetBoundEnergy (G4double e)
 

Detailed Description

Definition at line 39 of file G4HadProjectile.hh.

Constructor & Destructor Documentation

◆ G4HadProjectile() [1/3]

G4HadProjectile::G4HadProjectile ( )

Definition at line 30 of file G4HadProjectile.cc.

31{
32 theMat = 0;
33 theDef = 0;
34 theTime = 0.0;
35 theBoundEnergy = 0.0;
36}

◆ G4HadProjectile() [2/3]

G4HadProjectile::G4HadProjectile ( const G4Track aT)

Definition at line 38 of file G4HadProjectile.cc.

39{
40 Initialise(aT);
41}
void Initialise(const G4Track &aT)

◆ G4HadProjectile() [3/3]

G4HadProjectile::G4HadProjectile ( const G4DynamicParticle aT)

Definition at line 43 of file G4HadProjectile.cc.

44 : theMat(NULL),
45 theOrgMom(aT.Get4Momentum()),
46 theDef(aT.GetDefinition())
47{
49 toZ.rotateZ(-theOrgMom.phi());
50 toZ.rotateY(-theOrgMom.theta());
51 theMom = toZ*theOrgMom;
52 toLabFrame = toZ.inverse();
53 theTime = 0.0;
54 theBoundEnergy = 0.0;
55}
HepLorentzRotation & rotateY(double delta)
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const
double theta() const
G4ParticleDefinition * GetDefinition() const
G4LorentzVector Get4Momentum() const

◆ ~G4HadProjectile()

G4HadProjectile::~G4HadProjectile ( )

Definition at line 57 of file G4HadProjectile.cc.

58{}

Member Function Documentation

◆ Get4Momentum()

const G4LorentzVector & G4HadProjectile::Get4Momentum ( ) const
inline

Definition at line 86 of file G4HadProjectile.hh.

87{
88 return theMom;
89}

Referenced by G4NeutronHPChannelList::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4ElectroNuclearReaction::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4ChiralInvariantPhaseSpace::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4LCapture::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEDeuteronInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LElastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LETritonInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4LFission::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4InelasticInteraction::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4HEVector::G4HEVector(), G4NeutronHPThermalBoost::GetThermalEnergy(), GetTotalEnergy(), GetTotalMomentum(), G4ReactionProduct::operator=(), G4GeneratorPrecompoundInterface::Propagate(), G4DiffuseElastic::SampleThetaLab(), G4NuclNuclDiffuseElastic::SampleThetaLab(), and G4HadronicWhiteBoard::SetProjectile().

◆ GetBoundEnergy()

G4double G4HadProjectile::GetBoundEnergy ( ) const
inline

Definition at line 118 of file G4HadProjectile.hh.

119{
120 return theBoundEnergy;
121}

Referenced by G4MuMinusCapturePrecompound::ApplyYourself(), and G4MuonMinusBoundDecay::ApplyYourself().

◆ GetDefinition()

const G4ParticleDefinition * G4HadProjectile::GetDefinition ( ) const
inline

Definition at line 81 of file G4HadProjectile.hh.

82{
83 return theDef;
84}

Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4ElectroNuclearReaction::ApplyYourself(), G4GammaNuclearReaction::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4ChiralInvariantPhaseSpace::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4LCapture::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4LEAntiKaonZeroInelastic::ApplyYourself(), G4LEAntiLambdaInelastic::ApplyYourself(), G4LEAntiNeutronInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEAntiXiZeroInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LEKaonZeroInelastic::ApplyYourself(), G4LELambdaInelastic::ApplyYourself(), G4LElastic::ApplyYourself(), G4LENeutronInelastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4LFission::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4InelasticInteraction::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4InelasticInteraction::DoIsotopeCounting(), G4HEVector::G4HEVector(), G4ReactionDynamics::GenerateXandPt(), G4NeutronIsotopeProduction::GetIsotope(), GetKineticEnergy(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4CascadeInterface::IsApplicable(), G4ReactionProduct::operator=(), G4RPGFragmentation::ReactionStage(), G4RPGTwoCluster::ReactionStage(), G4DiffuseElastic::SampleThetaLab(), G4NuclNuclDiffuseElastic::SampleThetaLab(), G4HadronicWhiteBoard::SetProjectile(), and G4ReactionDynamics::TwoCluster().

◆ GetGlobalTime()

◆ GetKineticEnergy()

G4double G4HadProjectile::GetKineticEnergy ( ) const
inline

Definition at line 106 of file G4HadProjectile.hh.

107{
109 if(ekin < 0.0) { ekin = 0.0; }
110 return ekin;
111}
double G4double
Definition: G4Types.hh:64
const G4ParticleDefinition * GetDefinition() const
G4double GetTotalEnergy() const

Referenced by G4NeutronHPChannelList::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDFission::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4NeutronHPorLCaptureModel::ApplyYourself(), G4NeutronHPorLEInelasticModel::ApplyYourself(), G4NeutronHPorLElasticModel::ApplyYourself(), G4NeutronHPorLFissionModel::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4ChiralInvariantPhaseSpace::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4LEAntiKaonZeroInelastic::ApplyYourself(), G4LEAntiLambdaInelastic::ApplyYourself(), G4LEAntiNeutronInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEAntiXiZeroInelastic::ApplyYourself(), G4LEDeuteronInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LEKaonZeroInelastic::ApplyYourself(), G4LELambdaInelastic::ApplyYourself(), G4LElastic::ApplyYourself(), G4LENeutronInelastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LETritonInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4LFission::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4InelasticInteraction::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4HEVector::G4HEVector(), G4ReactionDynamics::GenerateXandPt(), G4NeutronIsotopeProduction::GetIsotope(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4CascadeInterface::NoInteraction(), G4ReactionProduct::operator=(), G4RPGReaction::Rotate(), and G4ReactionDynamics::TwoCluster().

◆ GetMaterial()

const G4Material * G4HadProjectile::GetMaterial ( ) const
inline

Definition at line 76 of file G4HadProjectile.hh.

77{
78 return theMat;
79}

Referenced by G4NeutronHPChannelList::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDFission::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4FissLib::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPorLCapture::ApplyYourself(), G4NeutronHPorLEInelastic::ApplyYourself(), G4NeutronHPorLElastic::ApplyYourself(), G4NeutronHPorLFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4LEAlphaInelastic::ApplyYourself(), G4LEAntiKaonZeroInelastic::ApplyYourself(), G4LEAntiLambdaInelastic::ApplyYourself(), G4LEAntiNeutronInelastic::ApplyYourself(), G4LEAntiOmegaMinusInelastic::ApplyYourself(), G4LEAntiProtonInelastic::ApplyYourself(), G4LEAntiSigmaMinusInelastic::ApplyYourself(), G4LEAntiSigmaPlusInelastic::ApplyYourself(), G4LEAntiXiMinusInelastic::ApplyYourself(), G4LEAntiXiZeroInelastic::ApplyYourself(), G4LEDeuteronInelastic::ApplyYourself(), G4LEKaonMinusInelastic::ApplyYourself(), G4LEKaonPlusInelastic::ApplyYourself(), G4LEKaonZeroInelastic::ApplyYourself(), G4LELambdaInelastic::ApplyYourself(), G4LENeutronInelastic::ApplyYourself(), G4LEOmegaMinusInelastic::ApplyYourself(), G4LEPionMinusInelastic::ApplyYourself(), G4LEPionPlusInelastic::ApplyYourself(), G4LEProtonInelastic::ApplyYourself(), G4LESigmaMinusInelastic::ApplyYourself(), G4LESigmaPlusInelastic::ApplyYourself(), G4LETritonInelastic::ApplyYourself(), G4LEXiMinusInelastic::ApplyYourself(), G4LEXiZeroInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4NeutronHPChannel::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4NeutronHPInelasticCompFS::CompositeApply(), and G4NeutronIsotopeProduction::GetIsotope().

◆ GetTotalEnergy()

◆ GetTotalMomentum()

◆ GetTrafoToLab()

G4LorentzRotation & G4HadProjectile::GetTrafoToLab ( )
inline

Definition at line 91 of file G4HadProjectile.hh.

92{
93 return toLabFrame;
94}

Referenced by G4HadronicProcess::PostStepDoIt().

◆ Initialise()

void G4HadProjectile::Initialise ( const G4Track aT)

Definition at line 60 of file G4HadProjectile.cc.

61{
62 theMat = aT.GetMaterial();
63 theOrgMom = aT.GetDynamicParticle()->Get4Momentum();
64 theDef = aT.GetDefinition();
65
67 toZ.rotateZ(-theOrgMom.phi());
68 toZ.rotateY(-theOrgMom.theta());
69 theMom = toZ*theOrgMom;
70 toLabFrame = toZ.inverse();
71
72 //VI time of interaction starts from zero
73 // not global time of a track
74 theTime = 0.0;
75 theBoundEnergy = 0.0;
76}
G4Material * GetMaterial() const
G4ParticleDefinition * GetDefinition() const
const G4DynamicParticle * GetDynamicParticle() const

Referenced by G4HadronStoppingProcess::AtRestDoIt(), G4HadProjectile(), and G4HadronicProcess::PostStepDoIt().

◆ SetBoundEnergy()

void G4HadProjectile::SetBoundEnergy ( G4double  e)
inline

Definition at line 128 of file G4HadProjectile.hh.

129{
130 theBoundEnergy = e;
131}

Referenced by G4HadronStoppingProcess::AtRestDoIt().

◆ SetGlobalTime()

void G4HadProjectile::SetGlobalTime ( G4double  t)
inline

Definition at line 123 of file G4HadProjectile.hh.

124{
125 theTime = t;
126}

Referenced by G4MuonMinusBoundDecay::ApplyYourself().


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