Geant4-11
Public Member Functions | Private Member Functions | Private Attributes
G4HadProjectile Class Reference

#include <G4HadProjectile.hh>

Public Member Functions

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

Private Member Functions

 G4HadProjectile (const G4HadProjectile &)
 
void InitialiseLocal (const G4DynamicParticle *)
 
G4HadProjectileoperator= (const G4HadProjectile &right)
 

Private Attributes

G4double theBoundEnergy
 
const G4ParticleDefinitiontheDef
 
G4ThreeVector theDirection
 
G4double theKinEnergy
 
G4double theMass
 
const G4MaterialtheMat
 
G4LorentzVector theMom
 
G4double theTime
 
G4LorentzRotation toLabFrame
 

Detailed Description

Definition at line 39 of file G4HadProjectile.hh.

Constructor & Destructor Documentation

◆ G4HadProjectile() [1/4]

G4HadProjectile::G4HadProjectile ( )

Definition at line 30 of file G4HadProjectile.cc.

31 : theMat(nullptr),theTime(0.0),theBoundEnergy(0.0)
32{
33 theDef = nullptr;
34 theMass = 0.0;
35 theKinEnergy = 0.0;
36 theDirection.set(0.,0.,0.);
37 theMom.set(0.,0.,0.,0.);
38}
void set(double x, double y, double z)
void set(double x, double y, double z, double t)
const G4Material * theMat
G4ThreeVector theDirection
G4double theBoundEnergy
const G4ParticleDefinition * theDef
G4LorentzVector theMom

References CLHEP::Hep3Vector::set(), CLHEP::HepLorentzVector::set(), theDef, theDirection, theKinEnergy, theMass, and theMom.

◆ G4HadProjectile() [2/4]

G4HadProjectile::G4HadProjectile ( const G4Track aT)

Definition at line 40 of file G4HadProjectile.cc.

41{
42 Initialise(aT);
43}
void Initialise(const G4Track &aT)

References Initialise().

◆ G4HadProjectile() [3/4]

G4HadProjectile::G4HadProjectile ( const G4DynamicParticle aT)

Definition at line 45 of file G4HadProjectile.cc.

46 : theMat(nullptr),theTime(0.0),theBoundEnergy(0.0)
47{
48 InitialiseLocal(&dp);
49}
void InitialiseLocal(const G4DynamicParticle *)

References InitialiseLocal().

◆ ~G4HadProjectile()

G4HadProjectile::~G4HadProjectile ( )

Definition at line 51 of file G4HadProjectile.cc.

52{}

◆ G4HadProjectile() [4/4]

G4HadProjectile::G4HadProjectile ( const G4HadProjectile )
private

Member Function Documentation

◆ Get4Momentum()

const G4LorentzVector & G4HadProjectile::Get4Momentum ( ) const
inline

Definition at line 91 of file G4HadProjectile.hh.

92{
93 return theMom;
94}

References theMom.

Referenced by G4ParticleHPChannelList::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4ParticleHPThermalScattering::ApplyYourself(), G4NeutrinoElectronNcModel::ApplyYourself(), G4NeutronElectronElModel::ApplyYourself(), G4LFission::ApplyYourself(), G4ANuElNucleusCcModel::ApplyYourself(), G4ANuElNucleusNcModel::ApplyYourself(), G4ANuMuNucleusCcModel::ApplyYourself(), G4ANuMuNucleusNcModel::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4NeutrinoElectronCcModel::ApplyYourself(), G4NuElNucleusCcModel::ApplyYourself(), G4NuElNucleusNcModel::ApplyYourself(), G4NuMuNucleusCcModel::ApplyYourself(), G4NuMuNucleusNcModel::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4LowEGammaNuclearModel::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4LEHadronProtonElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4LMsdGenerator::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4ParticleHPCaptureFS::ApplyYourself(), G4ParticleHPElasticFS::ApplyYourself(), G4ParticleHPFissionFS::ApplyYourself(), G4ParticleHPInelasticBaseFS::BaseApply(), G4BinaryCascade::BuildLateParticleCollisions(), G4ElectroVDNuclearModel::CalculateEMVertex(), G4MuonVDNuclearModel::CalculateEMVertex(), G4HadronicProcess::CheckResult(), G4ParticleHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4BinaryCascade::DebugFinalEpConservation(), G4ParticleHPThermalBoost::GetThermalEnergy(), G4ReactionProduct::operator=(), G4GeneratorPrecompoundInterface::Propagate(), G4GeneratorPrecompoundInterface::PropagateNuclNucl(), G4LENDModel::returnUnchanged(), G4ANuElNucleusCcModel::SampleLVkr(), G4ANuElNucleusNcModel::SampleLVkr(), G4ANuMuNucleusCcModel::SampleLVkr(), G4ANuMuNucleusNcModel::SampleLVkr(), G4NuElNucleusCcModel::SampleLVkr(), G4NuElNucleusNcModel::SampleLVkr(), G4NuMuNucleusCcModel::SampleLVkr(), G4NuMuNucleusNcModel::SampleLVkr(), G4DiffuseElastic::SampleThetaLab(), G4NuclNuclDiffuseElastic::SampleThetaLab(), and G4CRCoalescence::SetP0Coalescence().

◆ GetBoundEnergy()

G4double G4HadProjectile::GetBoundEnergy ( ) const
inline

Definition at line 126 of file G4HadProjectile.hh.

127{
128 return theBoundEnergy;
129}

References theBoundEnergy.

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

◆ GetDefinition()

const G4ParticleDefinition * G4HadProjectile::GetDefinition ( ) const
inline

Definition at line 86 of file G4HadProjectile.hh.

87{
88 return theDef;
89}

References theDef.

Referenced by G4INCLXXInterface::AccurateProjectile(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4LENDorBERTModel::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4ParticleHPInelastic::ApplyYourself(), G4ParticleHPThermalScattering::ApplyYourself(), G4NeutrinoElectronNcModel::ApplyYourself(), G4NeutronElectronElModel::ApplyYourself(), G4LFission::ApplyYourself(), G4ANuElNucleusCcModel::ApplyYourself(), G4ANuElNucleusNcModel::ApplyYourself(), G4ANuMuNucleusCcModel::ApplyYourself(), G4ANuMuNucleusNcModel::ApplyYourself(), G4NeutrinoElectronCcModel::ApplyYourself(), G4NuElNucleusCcModel::ApplyYourself(), G4NuElNucleusNcModel::ApplyYourself(), G4NuMuNucleusCcModel::ApplyYourself(), G4NuMuNucleusNcModel::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4LEHadronProtonElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4LMsdGenerator::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4ParticleHPCaptureFS::ApplyYourself(), G4ParticleHPElasticFS::ApplyYourself(), G4ParticleHPFissionFS::ApplyYourself(), G4ParticleHPInelasticBaseFS::BaseApply(), G4BinaryCascade::BuildLateParticleCollisions(), G4ElectroVDNuclearModel::CalculateEMVertex(), G4HadronicProcess::CheckResult(), G4ParticleHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4FissionFragmentGenerator::G4GenerateFission(), G4EnergyRangeManager::GetHadronicInteraction(), G4ParticleHPThermalBoost::GetThermalEnergy(), G4DiffuseElastic::IsApplicable(), G4DiffuseElasticV2::IsApplicable(), G4hhElastic::IsApplicable(), G4NeutrinoElectronNcModel::IsApplicable(), G4NeutronElectronElModel::IsApplicable(), G4ANuElNucleusCcModel::IsApplicable(), G4ANuElNucleusNcModel::IsApplicable(), G4ANuMuNucleusCcModel::IsApplicable(), G4ANuMuNucleusNcModel::IsApplicable(), G4NeutrinoElectronCcModel::IsApplicable(), G4NeutrinoNucleusModel::IsApplicable(), G4NuElNucleusCcModel::IsApplicable(), G4NuElNucleusNcModel::IsApplicable(), G4NuMuNucleusCcModel::IsApplicable(), G4NuMuNucleusNcModel::IsApplicable(), G4CascadeInterface::IsApplicable(), G4LMsdGenerator::IsApplicable(), G4ReactionProduct::operator=(), G4GeneratorPrecompoundInterface::PropagateNuclNucl(), G4NeutrinoElectronCcModel::SampleCosCMS(), G4NeutrinoElectronNcModel::SampleElectronTkin(), G4LMsdGenerator::SampleMx(), G4DiffuseElastic::SampleThetaLab(), G4NuclNuclDiffuseElastic::SampleThetaLab(), G4CRCoalescence::SetP0Coalescence(), and G4INCLXXInterface::toINCLParticleSpecies().

◆ GetGlobalTime()

G4double G4HadProjectile::GetGlobalTime ( ) const
inline

◆ GetKineticEnergy()

G4double G4HadProjectile::GetKineticEnergy ( ) const
inline

Definition at line 116 of file G4HadProjectile.hh.

117{
118 return theKinEnergy;
119}

References theKinEnergy.

Referenced by G4ParticleHPChannelList::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4LENDorBERTModel::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDCombinedModel::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDFission::ApplyYourself(), G4LENDGammaModel::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4ParticleHPInelastic::ApplyYourself(), G4ParticleHPThermalScattering::ApplyYourself(), G4NeutrinoElectronNcModel::ApplyYourself(), G4NeutronElectronElModel::ApplyYourself(), G4LFission::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4LEHadronProtonElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4BinaryLightIonReaction::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4LMsdGenerator::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4ParticleHPCaptureFS::ApplyYourself(), G4ParticleHPElasticFS::ApplyYourself(), G4ParticleHPFissionFS::ApplyYourself(), G4ParticleHPInelasticBaseFS::BaseApply(), G4MuonVDNuclearModel::CalculateEMVertex(), G4HadronicProcess::CheckResult(), G4ParticleHPInelasticCompFS::CompositeApply(), G4EnergyRangeManager::GetHadronicInteraction(), G4ParticleHPThermalBoost::GetThermalEnergy(), G4LMsdGenerator::IsApplicable(), G4CascadeInterface::NoInteraction(), G4ReactionProduct::operator=(), G4LENDModel::returnUnchanged(), G4LMsdGenerator::SampleT(), and G4INCLXXInterface::toINCLKineticEnergy().

◆ GetMaterial()

const G4Material * G4HadProjectile::GetMaterial ( ) const
inline

◆ GetMomentumDirection()

const G4ThreeVector & G4HadProjectile::GetMomentumDirection ( ) const
inline

Definition at line 101 of file G4HadProjectile.hh.

102{
103 return theDirection;
104}

References theDirection.

◆ GetTotalEnergy()

G4double G4HadProjectile::GetTotalEnergy ( void  ) const
inline

Definition at line 106 of file G4HadProjectile.hh.

107{
108 return theMom.e();
109}

References CLHEP::HepLorentzVector::e(), and theMom.

Referenced by G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4LFission::ApplyYourself(), G4ANuElNucleusCcModel::ApplyYourself(), G4ANuElNucleusNcModel::ApplyYourself(), G4ANuMuNucleusCcModel::ApplyYourself(), G4ANuMuNucleusNcModel::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4NeutrinoElectronCcModel::ApplyYourself(), G4NuElNucleusCcModel::ApplyYourself(), G4NuElNucleusNcModel::ApplyYourself(), G4NuMuNucleusCcModel::ApplyYourself(), G4NuMuNucleusNcModel::ApplyYourself(), G4LEHadronProtonElastic::ApplyYourself(), G4LEnp::ApplyYourself(), G4LEpp::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4MuonVDNuclearModel::CalculateEMVertex(), G4HadronicProcess::CheckResult(), G4NeutrinoElectronNcModel::IsApplicable(), G4NeutronElectronElModel::IsApplicable(), G4ANuElNucleusCcModel::IsApplicable(), G4ANuElNucleusNcModel::IsApplicable(), G4ANuMuNucleusCcModel::IsApplicable(), G4ANuMuNucleusNcModel::IsApplicable(), G4NeutrinoElectronCcModel::IsApplicable(), G4NeutrinoNucleusModel::IsApplicable(), G4NuElNucleusCcModel::IsApplicable(), G4NuElNucleusNcModel::IsApplicable(), G4NuMuNucleusCcModel::IsApplicable(), G4NuMuNucleusNcModel::IsApplicable(), G4NeutrinoElectronCcModel::SampleCosCMS(), G4NeutrinoElectronNcModel::SampleElectronTkin(), G4ANuElNucleusCcModel::SampleLVkr(), G4ANuElNucleusNcModel::SampleLVkr(), G4ANuMuNucleusCcModel::SampleLVkr(), G4ANuMuNucleusNcModel::SampleLVkr(), G4NuElNucleusCcModel::SampleLVkr(), G4NuElNucleusNcModel::SampleLVkr(), G4NuMuNucleusCcModel::SampleLVkr(), and G4NuMuNucleusNcModel::SampleLVkr().

◆ GetTotalMomentum()

G4double G4HadProjectile::GetTotalMomentum ( ) const
inline

◆ GetTrafoToLab()

G4LorentzRotation & G4HadProjectile::GetTrafoToLab ( )
inline

◆ Initialise()

void G4HadProjectile::Initialise ( const G4Track aT)

◆ InitialiseLocal()

void G4HadProjectile::InitialiseLocal ( const G4DynamicParticle dp)
private

Definition at line 65 of file G4HadProjectile.cc.

66{
67 theDef = dp->GetDefinition();
71
72 G4LorentzVector theOrgMom = dp->Get4Momentum();
74 toZ.rotateZ(-theOrgMom.phi());
75 toZ.rotateY(-theOrgMom.theta());
76 toLabFrame = toZ.inverse();
77
78 theMom.set(0.,0.,std::sqrt(theKinEnergy*(theKinEnergy + 2.0*theMass)),
80}
HepLorentzRotation & rotateY(double delta)
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const
double theta() const
const G4ThreeVector & GetMomentumDirection() const
G4ParticleDefinition * GetDefinition() const
G4LorentzVector Get4Momentum() const
G4double GetKineticEnergy() const

References G4DynamicParticle::Get4Momentum(), G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), G4ParticleDefinition::GetPDGMass(), CLHEP::HepLorentzRotation::inverse(), CLHEP::HepLorentzVector::phi(), CLHEP::HepLorentzRotation::rotateY(), CLHEP::HepLorentzRotation::rotateZ(), CLHEP::HepLorentzVector::set(), theDef, theDirection, theKinEnergy, theMass, theMom, CLHEP::HepLorentzVector::theta(), and toLabFrame.

Referenced by G4HadProjectile(), and Initialise().

◆ operator=()

G4HadProjectile & G4HadProjectile::operator= ( const G4HadProjectile right)
private

◆ SetBoundEnergy()

void G4HadProjectile::SetBoundEnergy ( G4double  e)
inline

◆ SetGlobalTime()

void G4HadProjectile::SetGlobalTime ( G4double  t)
inline

Field Documentation

◆ theBoundEnergy

G4double G4HadProjectile::theBoundEnergy
private

Definition at line 78 of file G4HadProjectile.hh.

Referenced by GetBoundEnergy(), Initialise(), and SetBoundEnergy().

◆ theDef

const G4ParticleDefinition* G4HadProjectile::theDef
private

Definition at line 71 of file G4HadProjectile.hh.

Referenced by G4HadProjectile(), GetDefinition(), and InitialiseLocal().

◆ theDirection

G4ThreeVector G4HadProjectile::theDirection
private

Definition at line 74 of file G4HadProjectile.hh.

Referenced by G4HadProjectile(), GetMomentumDirection(), and InitialiseLocal().

◆ theKinEnergy

G4double G4HadProjectile::theKinEnergy
private

Definition at line 76 of file G4HadProjectile.hh.

Referenced by G4HadProjectile(), GetKineticEnergy(), and InitialiseLocal().

◆ theMass

G4double G4HadProjectile::theMass
private

Definition at line 75 of file G4HadProjectile.hh.

Referenced by G4HadProjectile(), and InitialiseLocal().

◆ theMat

const G4Material* G4HadProjectile::theMat
private

Definition at line 70 of file G4HadProjectile.hh.

Referenced by GetMaterial(), and Initialise().

◆ theMom

G4LorentzVector G4HadProjectile::theMom
private

◆ theTime

G4double G4HadProjectile::theTime
private

Definition at line 77 of file G4HadProjectile.hh.

Referenced by GetGlobalTime(), Initialise(), and SetGlobalTime().

◆ toLabFrame

G4LorentzRotation G4HadProjectile::toLabFrame
private

Definition at line 73 of file G4HadProjectile.hh.

Referenced by GetTrafoToLab(), and InitialiseLocal().


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