Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
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::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::G4HadProjectile ( const G4Track aT)

Definition at line 38 of file G4HadProjectile.cc.

References Initialise().

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

Definition at line 43 of file G4HadProjectile.cc.

References CLHEP::HepLorentzRotation::inverse(), CLHEP::HepLorentzVector::phi(), CLHEP::HepLorentzRotation::rotateY(), CLHEP::HepLorentzRotation::rotateZ(), and CLHEP::HepLorentzVector::theta().

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 }
G4ParticleDefinition * GetDefinition() const
HepLorentzRotation & rotateY(double delta)
double phi() const
double theta() const
G4LorentzVector Get4Momentum() const
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const
G4HadProjectile::~G4HadProjectile ( )

Definition at line 57 of file G4HadProjectile.cc.

58 {}

Member Function Documentation

const G4LorentzVector & G4HadProjectile::Get4Momentum ( ) const
inline

Definition at line 86 of file G4HadProjectile.hh.

Referenced by G4BinaryLightIonReaction::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4NeutronHPChannelList::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4LEpp::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4LEnp::ApplyYourself(), G4QMDReaction::ApplyYourself(), CexmcChargeExchangeProductionModel< OutputParticle >::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4LFission::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4NeutronHPThermalBoost::GetThermalEnergy(), GetTotalEnergy(), GetTotalMomentum(), G4ReactionProduct::operator=(), G4GeneratorPrecompoundInterface::Propagate(), G4GeneratorPrecompoundInterface::PropagateNuclNucl(), G4NuclNuclDiffuseElastic::SampleThetaLab(), G4DiffuseElastic::SampleThetaLab(), and G4HadronicWhiteBoard::SetProjectile().

87 {
88  return theMom;
89 }
G4double G4HadProjectile::GetBoundEnergy ( ) const
inline

Definition at line 118 of file G4HadProjectile.hh.

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

119 {
120  return theBoundEnergy;
121 }
const G4ParticleDefinition * G4HadProjectile::GetDefinition ( ) const
inline

Definition at line 81 of file G4HadProjectile.hh.

Referenced by G4BinaryLightIonReaction::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4ParaFissionModel::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LowEIonFragmentation::ApplyYourself(), G4LEpp::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4LEnp::ApplyYourself(), G4QMDReaction::ApplyYourself(), CexmcChargeExchangeProductionModel< OutputParticle >::ApplyYourself(), G4PreCompoundModel::ApplyYourself(), G4LFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4CascadeInterface::createBullet(), G4FissionFragmentGenerator::G4GenerateFission(), G4ReactionDynamics::GenerateXandPt(), GetKineticEnergy(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4CascadeInterface::IsApplicable(), G4ReactionProduct::operator=(), G4GeneratorPrecompoundInterface::PropagateNuclNucl(), G4RPGTwoCluster::ReactionStage(), G4RPGFragmentation::ReactionStage(), G4NuclNuclDiffuseElastic::SampleThetaLab(), G4DiffuseElastic::SampleThetaLab(), G4HadronicWhiteBoard::SetProjectile(), and G4ReactionDynamics::TwoCluster().

82 {
83  return theDef;
84 }
G4double G4HadProjectile::GetGlobalTime ( ) const
inline
G4double G4HadProjectile::GetKineticEnergy ( ) const
inline

Definition at line 106 of file G4HadProjectile.hh.

References GetDefinition(), G4ParticleDefinition::GetPDGMass(), and GetTotalEnergy().

Referenced by G4BinaryLightIonReaction::ApplyYourself(), G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4NeutronHPFissionFS::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4NeutronHPChannelList::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4LENDModel::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LEpp::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4LENDFission::ApplyYourself(), G4TheoFSGenerator::ApplyYourself(), G4LEnp::ApplyYourself(), G4QMDReaction::ApplyYourself(), CexmcChargeExchangeProductionModel< OutputParticle >::ApplyYourself(), G4LFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4EMDissociation::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4INCLXXInterface::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), G4RPGInelastic::CalculateMomenta(), G4HadronicProcess::CheckResult(), G4NeutronHPInelasticCompFS::CompositeApply(), G4ReactionDynamics::GenerateXandPt(), G4NeutronHPThermalBoost::GetThermalEnergy(), G4CascadeInterface::NoInteraction(), G4ReactionProduct::operator=(), G4RPGReaction::Rotate(), and G4ReactionDynamics::TwoCluster().

107 {
109  if(ekin < 0.0) { ekin = 0.0; }
110  return ekin;
111 }
const G4ParticleDefinition * GetDefinition() const
G4double GetPDGMass() const
double G4double
Definition: G4Types.hh:76
G4double GetTotalEnergy() const
const G4Material * G4HadProjectile::GetMaterial ( ) const
inline

Definition at line 76 of file G4HadProjectile.hh.

Referenced by G4NeutronHPFissionFS::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4NeutronHPCapture::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4NeutronHPElastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4NeutronHPCaptureFS::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4NeutronHPChannelList::ApplyYourself(), G4LENDModel::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4NeutronHPFission::ApplyYourself(), G4NeutronHPElasticFS::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4LENDFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4FissionLibrary::ApplyYourself(), G4NeutronHPInelastic::ApplyYourself(), G4NeutronHPChannel::ApplyYourself(), G4FissLib::ApplyYourself(), G4NeutronHPInelasticBaseFS::BaseApply(), and G4NeutronHPInelasticCompFS::CompositeApply().

77 {
78  return theMat;
79 }
G4double G4HadProjectile::GetTotalEnergy ( void  ) const
inline
G4double G4HadProjectile::GetTotalMomentum ( ) const
inline
G4LorentzRotation & G4HadProjectile::GetTrafoToLab ( )
inline

Definition at line 91 of file G4HadProjectile.hh.

Referenced by G4HadronicProcess::PostStepDoIt().

92 {
93  return toLabFrame;
94 }
void G4HadProjectile::Initialise ( const G4Track aT)

Definition at line 60 of file G4HadProjectile.cc.

References G4DynamicParticle::Get4Momentum(), G4Track::GetDefinition(), G4Track::GetDynamicParticle(), G4Track::GetMaterial(), CLHEP::HepLorentzRotation::inverse(), CLHEP::HepLorentzVector::phi(), CLHEP::HepLorentzRotation::rotateY(), CLHEP::HepLorentzRotation::rotateZ(), and CLHEP::HepLorentzVector::theta().

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

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 }
G4ParticleDefinition * GetDefinition() const
const G4DynamicParticle * GetDynamicParticle() const
HepLorentzRotation & rotateY(double delta)
double phi() const
double theta() const
G4LorentzVector Get4Momentum() const
G4Material * GetMaterial() const
HepLorentzRotation & rotateZ(double delta)
HepLorentzRotation inverse() const
void G4HadProjectile::SetBoundEnergy ( G4double  e)
inline

Definition at line 128 of file G4HadProjectile.hh.

Referenced by G4HadronStoppingProcess::AtRestDoIt().

129 {
130  theBoundEnergy = e;
131 }
void G4HadProjectile::SetGlobalTime ( G4double  t)
inline

Definition at line 123 of file G4HadProjectile.hh.

Referenced by G4MuonMinusBoundDecay::ApplyYourself().

124 {
125  theTime = t;
126 }

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