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 G4LorentzVector & Get4Momentum () const
 
G4double GetBoundEnergy () const
 
const G4ParticleDefinition * GetDefinition () const
 
G4double GetGlobalTime () const
 
G4double GetKineticEnergy () const
 
const G4Material * GetMaterial () const
 
const G4ThreeVector & GetMomentumDirection () const
 
G4double GetTotalEnergy () const
 
G4double GetTotalMomentum () const
 
G4LorentzRotation & GetTrafoToLab ()
 
void Initialise (const G4Track &aT)
 
void SetBoundEnergy (G4double e)
 
void SetGlobalTime (G4double t)
 
 ~G4HadProjectile ()
 

Private Member Functions

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

Private Attributes

G4double theBoundEnergy
 
const G4ParticleDefinition * theDef
 
G4ThreeVector theDirection
 
G4double theKinEnergy
 
G4double theMass
 
const G4Material * theMat
 
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: