Geant4  10.01
G4ParticleChange Class Reference

#include <G4ParticleChange.hh>

+ Inheritance diagram for G4ParticleChange:
+ Collaboration diagram for G4ParticleChange:

Public Member Functions

 G4ParticleChange ()
 
virtual ~G4ParticleChange ()
 
G4bool operator== (const G4ParticleChange &right) const
 
G4bool operator!= (const G4ParticleChange &right) const
 
virtual G4StepUpdateStepForAlongStep (G4Step *Step)
 
virtual G4StepUpdateStepForAtRest (G4Step *Step)
 
virtual G4StepUpdateStepForPostStep (G4Step *Step)
 
virtual void Initialize (const G4Track &)
 
const G4ThreeVectorGetMomentumDirection () const
 
void ProposeMomentumDirection (G4double Px, G4double Py, G4double Pz)
 
void ProposeMomentumDirection (const G4ThreeVector &Pfinal)
 
const G4ThreeVectorGetPolarization () const
 
void ProposePolarization (G4double Px, G4double Py, G4double Pz)
 
void ProposePolarization (const G4ThreeVector &finalPoralization)
 
G4double GetEnergy () const
 
void ProposeEnergy (G4double finalEnergy)
 
G4double GetVelocity () const
 
void ProposeVelocity (G4double finalVelocity)
 
G4double GetProperTime () const
 
void ProposeProperTime (G4double finalProperTime)
 
const G4ThreeVectorGetPosition () const
 
void ProposePosition (G4double x, G4double y, G4double z)
 
void ProposePosition (const G4ThreeVector &finalPosition)
 
void ProposeGlobalTime (G4double t)
 
void ProposeLocalTime (G4double t)
 
G4double GetGlobalTime (G4double timeDelay=0.0) const
 
G4double GetLocalTime (G4double timeDelay=0.0) const
 
G4double GetMass () const
 
void ProposeMass (G4double finalMass)
 
G4double GetCharge () const
 
void ProposeCharge (G4double finalCharge)
 
G4double GetMagneticMoment () const
 
void ProposeMagneticMoment (G4double finalMagneticMoment)
 
G4ThreeVector GetGlobalPosition (const G4ThreeVector &displacement) const
 
G4ThreeVector CalcMomentum (G4double energy, G4ThreeVector direction, G4double mass) const
 
void AddSecondary (G4Track *aSecondary)
 
void AddSecondary (G4DynamicParticle *aSecondary, G4bool IsGoodForTracking=false)
 
void AddSecondary (G4DynamicParticle *aSecondary, G4ThreeVector position, G4bool IsGoodForTracking=false)
 
void AddSecondary (G4DynamicParticle *aSecondary, G4double time, G4bool IsGoodForTracking=false)
 
virtual void DumpInfo () const
 
virtual G4bool CheckIt (const G4Track &)
 
- Public Member Functions inherited from G4VParticleChange
 G4VParticleChange ()
 
virtual ~G4VParticleChange ()
 
G4bool operator== (const G4VParticleChange &right) const
 
G4bool operator!= (const G4VParticleChange &right) const
 
G4double GetTrueStepLength () const
 
void ProposeTrueStepLength (G4double truePathLength)
 
G4double GetLocalEnergyDeposit () const
 
void ProposeLocalEnergyDeposit (G4double anEnergyPart)
 
G4double GetNonIonizingEnergyDeposit () const
 
void ProposeNonIonizingEnergyDeposit (G4double anEnergyPart)
 
G4TrackStatus GetTrackStatus () const
 
void ProposeTrackStatus (G4TrackStatus status)
 
G4SteppingControl GetSteppingControl () const
 
void ProposeSteppingControl (G4SteppingControl StepControlFlag)
 
G4bool GetFirstStepInVolume () const
 
G4bool GetLastStepInVolume () const
 
void ProposeFirstStepInVolume (G4bool flag)
 
void ProposeLastStepInVolume (G4bool flag)
 
void Clear ()
 
void SetNumberOfSecondaries (G4int totSecondaries)
 
G4int GetNumberOfSecondaries () const
 
G4TrackGetSecondary (G4int anIndex) const
 
void AddSecondary (G4Track *aSecondary)
 
G4double GetWeight () const
 
G4double GetParentWeight () const
 
void ProposeWeight (G4double finalWeight)
 
void ProposeParentWeight (G4double finalWeight)
 
void SetSecondaryWeightByProcess (G4bool)
 
G4bool IsSecondaryWeightSetByProcess () const
 
void SetParentWeightByProcess (G4bool)
 
G4bool IsParentWeightSetByProcess () const
 
void SetVerboseLevel (G4int vLevel)
 
G4int GetVerboseLevel () const
 
void ClearDebugFlag ()
 
void SetDebugFlag ()
 
G4bool GetDebugFlag () const
 

Protected Member Functions

 G4ParticleChange (const G4ParticleChange &right)
 
G4ParticleChangeoperator= (const G4ParticleChange &right)
 
G4StepUpdateStepInfo (G4Step *Step)
 
- Protected Member Functions inherited from G4VParticleChange
 G4VParticleChange (const G4VParticleChange &right)
 
G4VParticleChangeoperator= (const G4VParticleChange &right)
 
G4StepUpdateStepInfo (G4Step *Step)
 
void InitializeTrueStepLength (const G4Track &)
 
void InitializeLocalEnergyDeposit (const G4Track &)
 
void InitializeSteppingControl (const G4Track &)
 
void InitializeParentWeight (const G4Track &)
 
void InitializeParentGlobalTime (const G4Track &)
 
void InitializeStatusChange (const G4Track &)
 
void InitializeSecondaries (const G4Track &)
 
void InitializeStepInVolumeFlags (const G4Track &)
 
G4bool CheckSecondary (G4Track &)
 
G4double GetAccuracyForWarning () const
 
G4double GetAccuracyForException () const
 

Protected Attributes

G4ThreeVector theMomentumDirectionChange
 
G4ThreeVector thePolarizationChange
 
G4double theEnergyChange
 
G4double theVelocityChange
 
G4bool isVelocityChanged
 
G4ThreeVector thePositionChange
 
G4double theGlobalTime0
 
G4double theLocalTime0
 
G4double theTimeChange
 
G4double theProperTimeChange
 
G4double theMassChange
 
G4double theChargeChange
 
G4double theMagneticMomentChange
 
const G4TracktheCurrentTrack
 
- Protected Attributes inherited from G4VParticleChange
G4TrackFastVectortheListOfSecondaries
 
G4int theNumberOfSecondaries
 
G4int theSizeOftheListOfSecondaries
 
G4TrackStatus theStatusChange
 
G4SteppingControl theSteppingControlFlag
 
G4double theLocalEnergyDeposit
 
G4double theNonIonizingEnergyDeposit
 
G4double theTrueStepLength
 
G4bool theFirstStepInVolume
 
G4bool theLastStepInVolume
 
G4double theParentWeight
 
G4bool isParentWeightProposed
 
G4bool fSetSecondaryWeightByProcess
 
G4double theParentGlobalTime
 
G4int verboseLevel
 
G4bool debugFlag
 

Additional Inherited Members

- Static Protected Attributes inherited from G4VParticleChange
static const G4double accuracyForWarning = 1.0e-9
 
static const G4double accuracyForException = 0.001
 

Detailed Description

Definition at line 77 of file G4ParticleChange.hh.

Constructor & Destructor Documentation

G4ParticleChange::G4ParticleChange ( )

Definition at line 54 of file G4ParticleChange.cc.

G4ParticleChange::~G4ParticleChange ( )
virtual

Definition at line 68 of file G4ParticleChange.cc.

References G4cout, G4endl, and G4VParticleChange::verboseLevel.

Member Function Documentation

void G4ParticleChange::AddSecondary ( G4Track aSecondary)

Definition at line 218 of file G4ParticleChange.cc.

References G4VParticleChange::AddSecondary().

Referenced by G4eLowEnergyLoss::AlongStepDoIt(), GB04BOptnBremSplitting::ApplyFinalStateBiasing(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4HadronStoppingProcess::AtRestDoIt(), G4SingleScatter::DoCollisionStep(), G4HadronicProcess::FillResult(), CexmcHadronicProcess::FillTotalResult(), G4BOptnCloning::GenerateBiasingFinalState(), GB03BOptnSplitOrKillOnBoundary::GenerateBiasingFinalState(), G4PhononDownconversion::MakeLTSecondaries(), G4PhononDownconversion::MakeTTSecondaries(), G4PhononScattering::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4LowEnergyCompton::PostStepDoIt(), G4LowEnergyGammaConversion::PostStepDoIt(), G4LowEnergyPhotoElectric::PostStepDoIt(), G4SynchrotronRadiation::PostStepDoIt(), G4LowEnergyPolarizedCompton::PostStepDoIt(), G4LowEnergyIonisation::PostStepDoIt(), G4LowEnergyBremsstrahlung::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4SynchrotronRadiationInMat::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4AnnihiToMuPair::PostStepDoIt(), G4GammaConversionToMuons::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4hImpactIonisation::PostStepDoIt(), G4AdjointComptonModel::RapidSampleSecondaries(), G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4AdjointhIonisationModel::RapidSampleSecondaries(), G4AdjointComptonModel::SampleSecondaries(), G4AdjointeIonisationModel::SampleSecondaries(), G4AdjointBremsstrahlungModel::SampleSecondaries(), G4AdjointPhotoElectricModel::SampleSecondaries(), G4AdjointhIonisationModel::SampleSecondaries(), G4AdjointIonIonisationModel::SampleSecondaries(), and G4SamplingPostStepAction::Split().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ParticleChange::AddSecondary ( G4DynamicParticle aSecondary,
G4bool  IsGoodForTracking = false 
)

Definition at line 168 of file G4ParticleChange.cc.

References G4VParticleChange::AddSecondary(), GetGlobalTime(), G4Track::GetTouchableHandle(), G4Track::SetGoodForTrackingFlag(), G4Track::SetTouchableHandle(), theCurrentTrack, and thePositionChange.

+ Here is the call graph for this function:

void G4ParticleChange::AddSecondary ( G4DynamicParticle aSecondary,
G4ThreeVector  position,
G4bool  IsGoodForTracking = false 
)

Definition at line 184 of file G4ParticleChange.cc.

References G4VParticleChange::AddSecondary(), GetGlobalTime(), G4Track::SetGoodForTrackingFlag(), and G4Track::SetTouchableHandle().

+ Here is the call graph for this function:

void G4ParticleChange::AddSecondary ( G4DynamicParticle aSecondary,
G4double  time,
G4bool  IsGoodForTracking = false 
)

Definition at line 201 of file G4ParticleChange.cc.

References G4VParticleChange::AddSecondary(), G4Track::GetTouchableHandle(), G4Track::SetGoodForTrackingFlag(), G4Track::SetTouchableHandle(), theCurrentTrack, and thePositionChange.

+ Here is the call graph for this function:

G4ThreeVector G4ParticleChange::CalcMomentum ( G4double  energy,
G4ThreeVector  direction,
G4double  mass 
) const

Referenced by G4ParticleChangeForTransport::UpdateStepForAlongStep(), and UpdateStepForAlongStep().

+ Here is the caller graph for this function:

G4bool G4ParticleChange::CheckIt ( const G4Track aTrack)
virtual
void G4ParticleChange::DumpInfo ( ) const
virtual

Reimplemented from G4VParticleChange.

Reimplemented in G4ParticleChangeForTransport.

Definition at line 445 of file G4ParticleChange.cc.

References G4VParticleChange::DumpInfo(), eplus, G4cout, G4endl, GeV, MeV, mm, ns, theChargeChange, theEnergyChange, theMagneticMomentChange, theMassChange, theMomentumDirectionChange, thePolarizationChange, thePositionChange, theProperTimeChange, theTimeChange, and theVelocityChange.

Referenced by CheckIt(), and G4ParticleChangeForTransport::DumpInfo().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ParticleChange::GetCharge ( ) const
G4double G4ParticleChange::GetEnergy ( ) const

Referenced by G4HadronicProcess::CheckEnergyMomentumConservation(), G4SingleScatter::DoCollisionStep(), and G4UCNBoundaryProcess::PostStepDoIt().

+ Here is the caller graph for this function:

G4ThreeVector G4ParticleChange::GetGlobalPosition ( const G4ThreeVector displacement) const
G4double G4ParticleChange::GetGlobalTime ( G4double  timeDelay = 0.0) const

Referenced by AddSecondary().

+ Here is the caller graph for this function:

G4double G4ParticleChange::GetLocalTime ( G4double  timeDelay = 0.0) const
G4double G4ParticleChange::GetMagneticMoment ( ) const
G4double G4ParticleChange::GetMass ( ) const
const G4ThreeVector* G4ParticleChange::GetMomentumDirection ( ) const

Referenced by G4HadronicProcess::CheckEnergyMomentumConservation(), G4OpMieHG::PostStepDoIt(), and G4OpRayleigh::PostStepDoIt().

+ Here is the caller graph for this function:

const G4ThreeVector* G4ParticleChange::GetPolarization ( ) const

Referenced by G4OpMieHG::PostStepDoIt(), and G4OpRayleigh::PostStepDoIt().

+ Here is the caller graph for this function:

const G4ThreeVector* G4ParticleChange::GetPosition ( ) const
G4double G4ParticleChange::GetProperTime ( ) const
G4double G4ParticleChange::GetVelocity ( ) const
void G4ParticleChange::Initialize ( const G4Track track)
virtual

Reimplemented from G4VParticleChange.

Reimplemented in G4ParticleChangeForTransport.

Definition at line 228 of file G4ParticleChange.cc.

References G4DynamicParticle::GetCharge(), G4Track::GetDynamicParticle(), G4Track::GetGlobalTime(), G4DynamicParticle::GetKineticEnergy(), G4Track::GetLocalTime(), G4DynamicParticle::GetMagneticMoment(), G4DynamicParticle::GetMass(), G4DynamicParticle::GetMomentumDirection(), G4DynamicParticle::GetPolarization(), G4Track::GetPosition(), G4DynamicParticle::GetProperTime(), G4Track::GetVelocity(), G4VParticleChange::Initialize(), isVelocityChanged, theChargeChange, theCurrentTrack, theEnergyChange, theGlobalTime0, theLocalTime0, theMagneticMomentChange, theMassChange, theMomentumDirectionChange, thePolarizationChange, thePositionChange, theProperTimeChange, theTimeChange, and theVelocityChange.

Referenced by G4ErrorEnergyLoss::AlongStepDoIt(), G4AdjointAlongStepWeightCorrection::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4eLowEnergyLoss::AlongStepDoIt(), G4hImpactIonisation::AlongStepDoIt(), GB04BOptnBremSplitting::ApplyFinalStateBiasing(), G4BOptnForceFreeFlight::ApplyFinalStateBiasing(), G4AntiNeutronAnnihilationAtRest::AtRestDoIt(), G4HadronStoppingProcess::AtRestDoIt(), G4DNAMolecularDissociation::DecayIt(), CexmcHadronicProcess::FillTotalResult(), G4BOptnCloning::GenerateBiasingFinalState(), GB03BOptnSplitOrKillOnBoundary::GenerateBiasingFinalState(), G4PhononScattering::PostStepDoIt(), G4PhononDownconversion::PostStepDoIt(), G4PhononReflection::PostStepDoIt(), ExExChProcessChanneling::PostStepDoIt(), Em10StepCut::PostStepDoIt(), F01StepCut::PostStepDoIt(), F02StepCut::PostStepDoIt(), F03StepCut::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), XrayFluoStepMax::PostStepDoIt(), G4StepLimiter::PostStepDoIt(), F04StepMax::PostStepDoIt(), HadrontherapyStepMax::PostStepDoIt(), G4UserSpecialCuts::PostStepDoIt(), StepLimiter::PostStepDoIt(), StepMax::PostStepDoIt(), WLSStepMax::PostStepDoIt(), G4SpecialCuts::PostStepDoIt(), DMXSpecialCuts::PostStepDoIt(), IORTStepMax::PostStepDoIt(), CexmcHadronicProcess::PostStepDoIt(), ML2StepMax::PostStepDoIt(), G4LowEnergyRayleigh::PostStepDoIt(), G4LowEnergyCompton::PostStepDoIt(), XrayTelStepCut::PostStepDoIt(), G4LowEnergyGammaConversion::PostStepDoIt(), G4LowEnergyPhotoElectric::PostStepDoIt(), G4SynchrotronRadiation::PostStepDoIt(), G4DNASecondOrderReaction::PostStepDoIt(), G4LowEnergyPolarizedCompton::PostStepDoIt(), G4LowEnergyIonisation::PostStepDoIt(), G4OpMieHG::PostStepDoIt(), G4LowEnergyBremsstrahlung::PostStepDoIt(), G4VAdjointReverseReaction::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4SynchrotronRadiationInMat::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4WeightWindowProcess::PostStepDoIt(), G4AnnihiToMuPair::PostStepDoIt(), G4UCNAbsorption::PostStepDoIt(), G4HadronicProcess::PostStepDoIt(), G4UCNMultiScattering::PostStepDoIt(), G4UCNLoss::PostStepDoIt(), G4GammaConversionToMuons::PostStepDoIt(), G4OpAbsorption::PostStepDoIt(), G4OpRayleigh::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4hImpactIonisation::PostStepDoIt(), and G4OpBoundaryProcess::PostStepDoIt().

+ Here is the call graph for this function:

G4bool G4ParticleChange::operator!= ( const G4ParticleChange right) const

Definition at line 158 of file G4ParticleChange.cc.

G4bool G4ParticleChange::operator== ( const G4ParticleChange right) const

Definition at line 153 of file G4ParticleChange.cc.

void G4ParticleChange::ProposeCharge ( G4double  finalCharge)
void G4ParticleChange::ProposeEnergy ( G4double  finalEnergy)

Referenced by G4ErrorEnergyLoss::AlongStepDoIt(), G4Transportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), G4MonopoleTransportation::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4eLowEnergyLoss::AlongStepDoIt(), G4ITTransportation::AlongStepDoIt(), G4hImpactIonisation::AlongStepDoIt(), G4DNABrownianTransportation::Diffusion(), G4ScreenedCoulombClassicalKinematics::DoCollisionStep(), G4SingleScatter::DoCollisionStep(), G4HadronicProcess::FillResult(), CexmcHadronicProcess::FillTotalResult(), G4PhononDownconversion::PostStepDoIt(), G4PhononScattering::PostStepDoIt(), G4HadronElasticProcess::PostStepDoIt(), G4UserSpecialCuts::PostStepDoIt(), DMXSpecialCuts::PostStepDoIt(), G4SpecialCuts::PostStepDoIt(), G4LowEnergyRayleigh::PostStepDoIt(), G4LowEnergyCompton::PostStepDoIt(), G4LowEnergyGammaConversion::PostStepDoIt(), G4SynchrotronRadiation::PostStepDoIt(), G4LowEnergyPhotoElectric::PostStepDoIt(), G4LowEnergyPolarizedCompton::PostStepDoIt(), G4LowEnergyIonisation::PostStepDoIt(), G4LowEnergyBremsstrahlung::PostStepDoIt(), G4SynchrotronRadiationInMat::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4AnnihiToMuPair::PostStepDoIt(), G4GammaConversionToMuons::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), G4hImpactIonisation::PostStepDoIt(), G4ScreenedNuclearRecoil::PostStepDoIt(), G4AdjointComptonModel::RapidSampleSecondaries(), G4AdjointBremsstrahlungModel::RapidSampleSecondaries(), G4AdjointhIonisationModel::RapidSampleSecondaries(), G4AdjointComptonModel::SampleSecondaries(), G4AdjointeIonisationModel::SampleSecondaries(), G4AdjointBremsstrahlungModel::SampleSecondaries(), G4AdjointhIonisationModel::SampleSecondaries(), and G4AdjointIonIonisationModel::SampleSecondaries().

+ Here is the caller graph for this function:

void G4ParticleChange::ProposeGlobalTime ( G4double  t)

Referenced by G4Transportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), G4MonopoleTransportation::AlongStepDoIt(), and G4ITTransportation::AlongStepDoIt().

+ Here is the caller graph for this function:

void G4ParticleChange::ProposeLocalTime ( G4double  t)

Referenced by G4Transportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), and G4ITTransportation::AlongStepDoIt().

+ Here is the caller graph for this function:

void G4ParticleChange::ProposeMagneticMoment ( G4double  finalMagneticMoment)
void G4ParticleChange::ProposeMass ( G4double  finalMass)
void G4ParticleChange::ProposeMomentumDirection ( G4double  Px,
G4double  Py,
G4double  Pz 
)
void G4ParticleChange::ProposeMomentumDirection ( const G4ThreeVector Pfinal)
void G4ParticleChange::ProposePolarization ( G4double  Px,
G4double  Py,
G4double  Pz 
)
void G4ParticleChange::ProposePolarization ( const G4ThreeVector finalPoralization)
void G4ParticleChange::ProposePosition ( G4double  x,
G4double  y,
G4double  z 
)

Referenced by G4Transportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), G4MonopoleTransportation::AlongStepDoIt(), and G4ITTransportation::AlongStepDoIt().

+ Here is the caller graph for this function:

void G4ParticleChange::ProposePosition ( const G4ThreeVector finalPosition)
void G4ParticleChange::ProposeProperTime ( G4double  finalProperTime)

Referenced by G4Transportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), and G4MonopoleTransportation::AlongStepDoIt().

+ Here is the caller graph for this function:

void G4ParticleChange::ProposeVelocity ( G4double  finalVelocity)

Referenced by G4ITTransportation::AlongStepDoIt(), G4ITTransportation::ComputeStep(), G4PhononReflection::PostStepDoIt(), G4UCNBoundaryProcess::PostStepDoIt(), and G4OpBoundaryProcess::PostStepDoIt().

+ Here is the caller graph for this function:

G4Step* G4ParticleChange::UpdateStepInfo ( G4Step Step)
protected

Referenced by UpdateStepForAlongStep(), G4ParticleChangeForTransport::UpdateStepForAtRest(), UpdateStepForAtRest(), and UpdateStepForPostStep().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4ParticleChange::theChargeChange
protected
const G4Track* G4ParticleChange::theCurrentTrack
protected

Definition at line 261 of file G4ParticleChange.hh.

Referenced by AddSecondary(), G4ParticleChange(), Initialize(), and operator=().

G4double G4ParticleChange::theGlobalTime0
protected

Definition at line 241 of file G4ParticleChange.hh.

Referenced by G4ParticleChange(), Initialize(), and operator=().

G4double G4ParticleChange::theLocalTime0
protected
G4double G4ParticleChange::theMagneticMomentChange
protected
G4double G4ParticleChange::theMassChange
protected

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