#include <G4Step.hh>
Definition at line 76 of file G4Step.hh.
G4Step::G4Step | ( | ) |
Definition at line 53 of file G4Step.cc.
00055 : fTotalEnergyDeposit(0.0),fNonIonizingEnergyDeposit(0.0), 00056 fStepLength(0.), fpTrack(0), 00057 fpSteppingControlFlag(NormalCondition), 00058 fFirstStepInVolume(false), 00059 fLastStepInVolume(false), 00060 fSecondary(0), 00061 nSecondaryByLastStep(0), secondaryInCurrentStep(), 00062 fpVectorOfAuxiliaryPointsPointer(0) 00063 { 00064 fpPreStepPoint = new G4StepPoint(); 00065 fpPostStepPoint = new G4StepPoint(); 00066 00067 secondaryInCurrentStep = new std::vector<CT>; 00068 }
G4Step::~G4Step | ( | ) |
G4Step::G4Step | ( | const G4Step & | ) |
Definition at line 89 of file G4Step.cc.
References fpPostStepPoint, fpPreStepPoint, and fSecondary.
00091 : fTotalEnergyDeposit(right.fTotalEnergyDeposit), 00092 fNonIonizingEnergyDeposit(right.fNonIonizingEnergyDeposit), 00093 fStepLength(right.fStepLength), 00094 fpTrack(right.fpTrack), 00095 fpSteppingControlFlag(right.fpSteppingControlFlag), 00096 fFirstStepInVolume(right.fFirstStepInVolume), 00097 fLastStepInVolume(right.fLastStepInVolume), 00098 nSecondaryByLastStep(right.nSecondaryByLastStep), 00099 secondaryInCurrentStep(right.secondaryInCurrentStep), 00100 fpVectorOfAuxiliaryPointsPointer(right.fpVectorOfAuxiliaryPointsPointer) 00101 { 00102 if (right.fpPreStepPoint !=0) { 00103 fpPreStepPoint = new G4StepPoint(*(right.fpPreStepPoint)); 00104 } else { 00105 fpPreStepPoint = new G4StepPoint(); 00106 } 00107 if (right.fpPostStepPoint !=0) { 00108 fpPostStepPoint = new G4StepPoint(*(right.fpPostStepPoint)); 00109 } else { 00110 fpPostStepPoint = new G4StepPoint(); 00111 } 00112 00113 if (right.fSecondary !=0) { 00114 fSecondary = new G4TrackVector(*(right.fSecondary)); 00115 } else { 00116 fSecondary = new G4TrackVector(); 00117 } 00118 secondaryInCurrentStep = new std::vector<CT>; 00119 }
void G4Step::AddNonIonizingEnergyDeposit | ( | G4double | value | ) | [inline] |
Definition at line 126 of file G4Step.icc.
References fNonIonizingEnergyDeposit.
Referenced by G4ParticleChangeForLoss::UpdateStepForAlongStep(), G4ParticleChangeForLoss::UpdateStepForPostStep(), G4ParticleChangeForGamma::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().
00127 { 00128 fNonIonizingEnergyDeposit += value; 00129 }
void G4Step::AddTotalEnergyDeposit | ( | G4double | value | ) | [inline] |
Definition at line 113 of file G4Step.icc.
References fTotalEnergyDeposit.
Referenced by G4ITStepProcessor::ApplyProductionCut(), G4ParticleChangeForLoss::UpdateStepForAlongStep(), G4ParticleChangeForGamma::UpdateStepForAtRest(), G4ParticleChangeForLoss::UpdateStepForPostStep(), G4ParticleChangeForGamma::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().
00114 { 00115 fTotalEnergyDeposit += value; 00116 }
void G4Step::ClearFirstStepFlag | ( | ) | [inline] |
void G4Step::ClearLastStepFlag | ( | ) | [inline] |
Definition at line 309 of file G4Step.icc.
Referenced by G4ParticleChangeForTransport::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().
void G4Step::CopyPostToPreStepPoint | ( | ) | [inline] |
Definition at line 150 of file G4Step.icc.
References fUndefined, and G4StepPoint::SetStepStatus().
Referenced by G4ITStepProcessor::InitDefineStep(), and G4SteppingManager::Stepping().
00151 { 00152 //This method is called at the beggining of each step 00153 *(fpPreStepPoint) = *(fpPostStepPoint); 00154 fpPostStepPoint->SetStepStatus(fUndefined); 00155 00156 // store number of secondaries 00157 nSecondaryByLastStep = fSecondary->size(); 00158 }
G4Polyline* G4Step::CreatePolyline | ( | ) | const |
void G4Step::DeleteSecondaryVector | ( | ) | [inline] |
Definition at line 274 of file G4Step.icc.
Referenced by G4TrackList::DeleteTrack(), G4ITStepProcessor::~G4ITStepProcessor(), and G4SteppingManager::~G4SteppingManager().
00275 { 00276 if (fSecondary !=0) { 00277 fSecondary->clear(); 00278 delete fSecondary; 00279 fSecondary = 0; 00280 } 00281 }
G4SteppingControl G4Step::GetControlFlag | ( | ) | const [inline] |
G4double G4Step::GetDeltaEnergy | ( | ) | const |
Definition at line 176 of file G4Step.cc.
References G4Exception(), G4StepPoint::GetKineticEnergy(), and JustWarning.
00178 { 00179 static G4bool isFirstTime = true; 00180 if (isFirstTime) { 00181 isFirstTime = false; 00182 #ifdef G4VERBOSE 00183 G4Exception( "G4Step::GetDeltaEnergy()","Warning", JustWarning, 00184 "This method is obsolete and will be removed soon"); 00185 #endif 00186 } 00187 00188 return fpPostStepPoint->GetKineticEnergy() 00189 - fpPreStepPoint->GetKineticEnergy(); 00190 }
G4ThreeVector G4Step::GetDeltaMomentum | ( | ) | const |
Definition at line 159 of file G4Step.cc.
References G4Exception(), G4StepPoint::GetMomentum(), and JustWarning.
00161 { 00162 static G4bool isFirstTime = true; 00163 if (isFirstTime) { 00164 isFirstTime = false; 00165 #ifdef G4VERBOSE 00166 G4Exception( "G4Step::GetDeltaMomentum()","Warning", JustWarning, 00167 "This method is obsolete and will be removed soon"); 00168 #endif 00169 } 00170 00171 return fpPostStepPoint->GetMomentum() 00172 - fpPreStepPoint->GetMomentum(); 00173 }
G4ThreeVector G4Step::GetDeltaPosition | ( | ) | const [inline] |
Definition at line 74 of file G4Step.icc.
References G4StepPoint::GetPosition().
Referenced by G4Scintillation::PostStepDoIt(), and G4Cerenkov::PostStepDoIt().
00075 { 00076 return fpPostStepPoint->GetPosition() 00077 - fpPreStepPoint->GetPosition(); 00078 }
G4double G4Step::GetDeltaTime | ( | ) | const [inline] |
Definition at line 81 of file G4Step.icc.
References G4StepPoint::GetLocalTime().
Referenced by G4DNASmoluchowskiReactionModel::FindReaction(), and G4DNABrownianTransportation::PostStepDoIt().
00082 { 00083 return fpPostStepPoint->GetLocalTime() 00084 - fpPreStepPoint->GetLocalTime(); 00085 }
G4TrackVector * G4Step::GetfSecondary | ( | ) | [inline] |
Definition at line 257 of file G4Step.icc.
Referenced by G4TrackList::DeleteTrack(), G4SteppingManager::GetfSecondary(), and G4ITStepProcessor::SetupMembers().
G4double G4Step::GetNonIonizingEnergyDeposit | ( | ) | const [inline] |
Definition at line 101 of file G4Step.icc.
References fNonIonizingEnergyDeposit.
Referenced by G4ElectronIonPair::MeanNumberOfIonsAlongStep(), G4ScoreSplittingProcess::PostStepDoIt(), and G4EmSaturation::VisibleEnergyDeposition().
00102 { 00103 return fNonIonizingEnergyDeposit; 00104 }
std::vector<G4ThreeVector>* G4Step::GetPointerToVectorOfAuxiliaryPoints | ( | ) | const [inline] |
G4StepPoint * G4Step::GetPostStepPoint | ( | ) | const [inline] |
Definition at line 50 of file G4Step.icc.
Referenced by G4VAtomDeexcitation::AlongStepDeexcitation(), G4VMultipleScattering::AlongStepDoIt(), G4VEnergyLossProcess::AlongStepDoIt(), G4NuclearStopping::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4AdjointAlongStepWeightCorrection::AlongStepDoIt(), G4Trajectory::AppendStep(), G4SmoothTrajectory::AppendStep(), G4RayTrajectory::AppendStep(), G4DNABrownianTransportation::ComputeStep(), G4AdjointCrossSurfChecker::CrossingAGivenRegisteredSurface(), G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes(), G4AdjointCrossSurfChecker::CrossingASphere(), G4DecayWithSpin::DecayIt(), G4ITStepProcessor::DoDefinePhysicalStepLength(), G4ITStepProcessor::DoStepping(), G4ImportanceProcess::G4ImportanceProcess(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4RichTrajectoryPoint::G4RichTrajectoryPoint(), G4ScoreSplittingProcess::G4ScoreSplittingProcess(), G4SteppingManager::G4SteppingManager(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4Track::GetNextMaterial(), G4Track::GetNextMaterialCutsCouple(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolume(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface(), G4ITStepProcessor::InvokeAtRestDoItProcs(), G4ITStepProcessor::InvokePSDIP(), G4PSPassageTrackLength::IsPassed(), G4PSPassageCellFlux::IsPassed(), G4PSPassageCellCurrent::IsPassed(), G4PSSphereSurfaceFlux::IsSelectedSurface(), G4PSSphereSurfaceCurrent::IsSelectedSurface(), G4PSFlatSurfaceFlux::IsSelectedSurface(), G4PSFlatSurfaceCurrent::IsSelectedSurface(), G4PSCylinderSurfaceFlux::IsSelectedSurface(), G4PSCylinderSurfaceCurrent::IsSelectedSurface(), G4ErrorPropagator::MakeOneStep(), G4WeightWindowProcess::PostStepDoIt(), G4WeightCutOffProcess::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4VEnergyLossProcess::PostStepDoIt(), G4VEmProcess::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4OpWLS::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4PSTrackCounter::ProcessHits(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSNofCollision::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSCylinderSurfaceFlux::ProcessHits(), G4PSCellCharge::ProcessHits(), G4ElectronIonPair::ResidualeChargePostStep(), G4ElectronIonPair::SampleIonsAlongStep(), G4VEnergyLossProcess::SampleSubCutSecondaries(), G4CellScorer::ScoreAnInVolumeStep(), G4ITStepProcessor::SetupMembers(), G4SteppingVerbose::ShowStep(), G4ScoreSplittingProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), G4SteppingVerbose::StepInfo(), G4SteppingManager::Stepping(), G4VParticleChange::UpdateStepForAlongStep(), G4ParticleChangeForTransport::UpdateStepForAlongStep(), G4ParticleChangeForMSC::UpdateStepForAlongStep(), G4ParticleChangeForLoss::UpdateStepForAlongStep(), G4ParticleChange::UpdateStepForAlongStep(), G4VParticleChange::UpdateStepForAtRest(), G4ParticleChangeForGamma::UpdateStepForAtRest(), G4ParticleChangeForDecay::UpdateStepForAtRest(), G4ParticleChange::UpdateStepForAtRest(), G4FastStep::UpdateStepForAtRest(), G4VParticleChange::UpdateStepForPostStep(), G4ParticleChangeForTransport::UpdateStepForPostStep(), G4ParticleChangeForMSC::UpdateStepForPostStep(), G4ParticleChangeForLoss::UpdateStepForPostStep(), G4ParticleChangeForGamma::UpdateStepForPostStep(), G4ParticleChangeForDecay::UpdateStepForPostStep(), G4ParticleChange::UpdateStepForPostStep(), G4FastStep::UpdateStepForPostStep(), G4ScoreSplittingProcess::Verbose(), and G4ParallelWorldScoringProcess::Verbose().
G4StepPoint * G4Step::GetPreStepPoint | ( | ) | const [inline] |
Definition at line 38 of file G4Step.icc.
Referenced by G4SDNeutralFilter::Accept(), G4SDKineticEnergyFilter::Accept(), G4SDChargedFilter::Accept(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4VMultipleScattering::AlongStepDoIt(), G4VEnergyLossProcess::AlongStepDoIt(), G4Transportation::AlongStepDoIt(), G4NuclearStopping::AlongStepDoIt(), G4ITTransportation::AlongStepDoIt(), G4CoupledTransportation::AlongStepDoIt(), G4RayTrajectory::AppendStep(), G4VReadOutGeometry::CheckROVolume(), G4VMscModel::ComputeGeomLimit(), G4DNABrownianTransportation::ComputeStep(), G4WentzelVIRelModel::ComputeTruePathLengthLimit(), G4WentzelVIModel::ComputeTruePathLengthLimit(), G4UrbanMscModel96::ComputeTruePathLengthLimit(), G4UrbanMscModel95::ComputeTruePathLengthLimit(), G4UrbanMscModel93::ComputeTruePathLengthLimit(), G4UrbanMscModel92::ComputeTruePathLengthLimit(), G4UrbanMscModel90::ComputeTruePathLengthLimit(), G4GoudsmitSaundersonMscModel::ComputeTruePathLengthLimit(), G4PSPassageCellFlux::ComputeVolume(), G4PSDoseDeposit::ComputeVolume(), G4PSCellFlux::ComputeVolume(), G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes(), G4AdjointCrossSurfChecker::CrossingASphere(), G4CellScoreComposer::EstimatorCalculation(), G4DNASmoluchowskiReactionModel::FindReaction(), G4VReadOutGeometry::FindROTouchable(), G4ImportanceProcess::G4ImportanceProcess(), G4ParallelWorldProcess::G4ParallelWorldProcess(), G4ParallelWorldScoringProcess::G4ParallelWorldScoringProcess(), G4RichTrajectoryPoint::G4RichTrajectoryPoint(), G4ScoreSplittingProcess::G4ScoreSplittingProcess(), G4SteppingManager::G4SteppingManager(), G4WeightCutOffProcess::G4WeightCutOffProcess(), G4WeightWindowProcess::G4WeightWindowProcess(), G4VPrimitiveScorer::GetIndex(), G4PSTrackLength3D::GetIndex(), G4PSTrackCounter3D::GetIndex(), G4PSTermination3D::GetIndex(), G4PSStepChecker3D::GetIndex(), G4PSSphereSurfaceFlux3D::GetIndex(), G4PSSphereSurfaceCurrent3D::GetIndex(), G4PSPopulation3D::GetIndex(), G4PSPassageTrackLength3D::GetIndex(), G4PSPassageCellFlux3D::GetIndex(), G4PSPassageCellCurrent3D::GetIndex(), G4PSNofStep3D::GetIndex(), G4PSNofSecondary3D::GetIndex(), G4PSNofCollision3D::GetIndex(), G4PSMinKinEAtGeneration3D::GetIndex(), G4PSFlatSurfaceFlux3D::GetIndex(), G4PSFlatSurfaceCurrent3D::GetIndex(), G4PSEnergyDeposit3D::GetIndex(), G4PSDoseDeposit3D::GetIndex(), G4PSCylinderSurfaceFlux3D::GetIndex(), G4PSCylinderSurfaceCurrent3D::GetIndex(), G4PSCellFlux3D::GetIndex(), G4PSCellCharge3D::GetIndex(), G4Track::GetMaterial(), G4Track::GetMaterialCutsCouple(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolume(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface(), G4VGFlashSensitiveDetector::Hit(), G4ITStepProcessor::InitDefineStep(), G4VParticleChange::InitializeParentGlobalTime(), G4PSPassageTrackLength::IsPassed(), G4PSPassageCellFlux::IsPassed(), G4PSPassageCellCurrent::IsPassed(), G4PSSphereSurfaceFlux::IsSelectedSurface(), G4PSSphereSurfaceCurrent::IsSelectedSurface(), G4PSFlatSurfaceFlux::IsSelectedSurface(), G4PSFlatSurfaceCurrent::IsSelectedSurface(), G4PSCylinderSurfaceFlux::IsSelectedSurface(), G4PSCylinderSurfaceCurrent::IsSelectedSurface(), G4ElectronIonPair::MeanNumberOfIonsAlongStep(), G4VTransitionRadiation::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4OpBoundaryProcess::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4ForwardXrayTR::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4PSTrackLength::ProcessHits(), G4PSTrackCounter::ProcessHits(), G4PSTermination::ProcessHits(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSSphereSurfaceCurrent::ProcessHits(), G4PSPopulation::ProcessHits(), G4PSPassageCellFlux::ProcessHits(), G4PSPassageCellCurrent::ProcessHits(), G4PSNofSecondary::ProcessHits(), G4PSNofCollision::ProcessHits(), G4PSMinKinEAtGeneration::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSFlatSurfaceCurrent::ProcessHits(), G4PSEnergyDeposit::ProcessHits(), G4PSDoseDeposit::ProcessHits(), G4PSCylinderSurfaceFlux::ProcessHits(), G4PSCylinderSurfaceCurrent::ProcessHits(), G4PSCellFlux::ProcessHits(), G4PSCellCharge::ProcessHits(), G4ErrorFreeTrajState::PropagateError(), G4ElectronIonPair::SampleIonsAlongStep(), G4VEnergyLossProcess::SampleSubCutSecondaries(), G4ITStepProcessor::SetupMembers(), G4SteppingVerbose::ShowStep(), G4EnergySplitter::SplitEnergyInVolumes(), G4ScoreSplittingProcess::StartTracking(), G4ParallelWorldProcess::StartTracking(), G4SteppingManager::Stepping(), G4VParticleChange::UpdateStepForAlongStep(), G4ParticleChangeForTransport::UpdateStepForAlongStep(), G4ParticleChangeForLoss::UpdateStepForAlongStep(), G4ParticleChange::UpdateStepForAlongStep(), G4MSSteppingAction::UserSteppingAction(), G4ScoreSplittingProcess::Verbose(), and G4ParallelWorldScoringProcess::Verbose().
const G4TrackVector * G4Step::GetSecondary | ( | ) | const [inline] |
Definition at line 252 of file G4Step.icc.
Referenced by G4SteppingManager::GetSecondary(), and G4ElectronIonPair::ResidualeChargePostStep().
const std::vector< const G4Track * > * G4Step::GetSecondaryInCurrentStep | ( | ) | const |
Definition at line 193 of file G4Step.cc.
00195 { 00196 secondaryInCurrentStep->clear(); 00197 G4int nSecondary = fSecondary->size(); 00198 for (G4int i=nSecondaryByLastStep; i<nSecondary; i++) { 00199 secondaryInCurrentStep->push_back((*fSecondary)[i]); 00200 } 00201 return secondaryInCurrentStep; 00202 }
G4double G4Step::GetStepLength | ( | ) | const [inline] |
Definition at line 62 of file G4Step.icc.
Referenced by G4VAtomDeexcitation::AlongStepDeexcitation(), G4VMultipleScattering::AlongStepDoIt(), G4VEnergyLossProcess::AlongStepDoIt(), G4NuclearStopping::AlongStepDoIt(), G4hImpactIonisation::AlongStepDoIt(), G4ErrorEnergyLoss::AlongStepDoIt(), G4ContinuousGainOfEnergy::AlongStepDoIt(), G4AdjointAlongStepWeightCorrection::AlongStepDoIt(), G4RayTrajectory::AppendStep(), G4ITStepProcessor::DoStepping(), G4CellScoreComposer::EstimatorCalculation(), G4VParticleChange::InitializeTrueStepLength(), G4PSPassageTrackLength::IsPassed(), G4PSPassageCellFlux::IsPassed(), G4WeightWindowProcess::PostStepDoIt(), G4VTransitionRadiation::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4ImportanceProcess::PostStepDoIt(), G4DNABrownianTransportation::PostStepDoIt(), G4Cerenkov::PostStepDoIt(), G4PSTrackLength::ProcessHits(), G4PSNofStep::ProcessHits(), G4PSCellFlux::ProcessHits(), G4MultiFunctionalDetector::ProcessHits(), G4ErrorFreeTrajState::PropagateError(), G4VEnergyLossProcess::SampleSubCutSecondaries(), G4EnergySplitter::SplitEnergyInVolumes(), G4SteppingVerbose::StepInfo(), G4SteppingManager::Stepping(), G4SteppingVerbose::TrackingStarted(), G4MSSteppingAction::UserSteppingAction(), G4ScoreSplittingProcess::Verbose(), G4ParallelWorldScoringProcess::Verbose(), and G4EmSaturation::VisibleEnergyDeposition().
G4double G4Step::GetTotalEnergyDeposit | ( | ) | const [inline] |
Definition at line 89 of file G4Step.icc.
References fTotalEnergyDeposit.
Referenced by G4ElectronIonPair::MeanNumberOfIonsAlongStep(), G4ScoreSplittingProcess::PostStepDoIt(), G4Scintillation::PostStepDoIt(), G4PSEnergyDeposit::ProcessHits(), G4PSDoseDeposit::ProcessHits(), G4MultiFunctionalDetector::ProcessHits(), G4SteppingVerbose::ShowStep(), G4EnergySplitter::SplitEnergyInVolumes(), G4SteppingVerbose::StepInfo(), G4SteppingVerbose::TrackingStarted(), G4ScoreSplittingProcess::Verbose(), G4ParallelWorldScoringProcess::Verbose(), and G4EmSaturation::VisibleEnergyDeposition().
00090 { 00091 return fTotalEnergyDeposit; 00092 }
G4Track * G4Step::GetTrack | ( | ) | const [inline] |
Definition at line 169 of file G4Step.icc.
Referenced by G4SDParticleFilter::Accept(), G4VAtomDeexcitation::AlongStepDeexcitation(), G4DecayWithSpin::DecayIt(), G4RichTrajectoryPoint::G4RichTrajectoryPoint(), G4PSPassageTrackLength::IsPassed(), G4PSPassageCellFlux::IsPassed(), G4PSPassageCellCurrent::IsPassed(), G4ElectronIonPair::MeanNumberOfIonsAlongStep(), G4PSTermination::ProcessHits(), G4PSPopulation::ProcessHits(), G4PSNofSecondary::ProcessHits(), G4PSMinKinEAtGeneration::ProcessHits(), G4PSDoseDeposit::ProcessHits(), G4PSCellCharge::ProcessHits(), G4ElectronIonPair::ResidualeChargePostStep(), G4VEnergyLossProcess::SampleSubCutSecondaries(), G4CellScorer::ScoreAnInVolumeStep(), G4SteppingVerbose::ShowStep(), G4EnergySplitter::SplitEnergyInVolumes(), G4ErrorGeomVolumeTarget::TargetReached(), G4ParticleChangeForTransport::UpdateStepForAlongStep(), G4ParticleChangeForMSC::UpdateStepForAlongStep(), G4ParticleChangeForLoss::UpdateStepForAlongStep(), G4ParticleChange::UpdateStepForAlongStep(), G4ParticleChangeForDecay::UpdateStepForAtRest(), G4ParticleChange::UpdateStepForAtRest(), G4FastStep::UpdateStepForAtRest(), G4ParticleChangeForLoss::UpdateStepForPostStep(), G4ParticleChangeForGamma::UpdateStepForPostStep(), G4ParticleChange::UpdateStepForPostStep(), G4FastStep::UpdateStepForPostStep(), G4ITReactionChange::UpdateStepInfo(), G4ScoreSplittingProcess::Verbose(), G4ParallelWorldScoringProcess::Verbose(), and G4EmSaturation::VisibleEnergyDeposition().
void G4Step::InitializeStep | ( | G4Track * | aValue | ) | [inline] |
Definition at line 183 of file G4Step.icc.
References G4Track::CalculateVelocity(), fNonIonizingEnergyDeposit, fTotalEnergyDeposit, fUndefined, G4DynamicParticle::GetCharge(), G4Track::GetDynamicParticle(), G4Track::GetGlobalTime(), G4Track::GetKineticEnergy(), G4Track::GetLocalTime(), G4VPhysicalVolume::GetLogicalVolume(), G4DynamicParticle::GetMass(), G4LogicalVolume::GetMaterial(), G4LogicalVolume::GetMaterialCutsCouple(), G4Track::GetMomentumDirection(), G4Track::GetPolarization(), G4Track::GetPosition(), G4Track::GetProperTime(), G4LogicalVolume::GetSensitiveDetector(), G4Track::GetTouchable(), G4Track::GetTouchableHandle(), G4VTouchable::GetVolume(), G4Track::GetWeight(), G4StepPoint::SetCharge(), G4StepPoint::SetGlobalTime(), G4StepPoint::SetKineticEnergy(), G4StepPoint::SetLocalTime(), G4StepPoint::SetMass(), G4StepPoint::SetMaterial(), G4StepPoint::SetMaterialCutsCouple(), G4StepPoint::SetMomentumDirection(), G4StepPoint::SetPolarization(), G4StepPoint::SetPosition(), G4StepPoint::SetProcessDefinedStep(), G4StepPoint::SetProperTime(), G4StepPoint::SetSafety(), G4StepPoint::SetSensitiveDetector(), G4Track::SetStepLength(), G4StepPoint::SetStepStatus(), G4StepPoint::SetTouchableHandle(), G4StepPoint::SetVelocity(), and G4StepPoint::SetWeight().
Referenced by G4SteppingManager::SetInitialStep(), and G4ITStepProcessor::SetInitialStep().
00184 { 00185 // Initialize G4Step attributes 00186 fStepLength = 0.; 00187 fTotalEnergyDeposit = 0.; 00188 fNonIonizingEnergyDeposit = 0.; 00189 fpTrack = aValue; 00190 fpTrack->SetStepLength(0.); 00191 00192 nSecondaryByLastStep = 0; 00193 00194 // Initialize G4StepPoint attributes. 00195 // To avoid the circular dependency between G4Track, G4Step 00196 // and G4StepPoint, G4Step has to manage the copy actions. 00197 fpPreStepPoint->SetPosition(fpTrack->GetPosition()); 00198 fpPreStepPoint->SetGlobalTime(fpTrack->GetGlobalTime()); 00199 fpPreStepPoint->SetLocalTime(fpTrack->GetLocalTime()); 00200 fpPreStepPoint->SetProperTime(fpTrack->GetProperTime()); 00201 fpPreStepPoint->SetMomentumDirection(fpTrack->GetMomentumDirection()); 00202 fpPreStepPoint->SetKineticEnergy(fpTrack->GetKineticEnergy()); 00203 fpPreStepPoint->SetTouchableHandle(fpTrack->GetTouchableHandle()); 00204 fpPreStepPoint->SetMaterial( fpTrack->GetTouchable()->GetVolume()->GetLogicalVolume()->GetMaterial()); 00205 fpPreStepPoint->SetMaterialCutsCouple( fpTrack->GetTouchable()->GetVolume()->GetLogicalVolume()->GetMaterialCutsCouple()); 00206 fpPreStepPoint->SetSensitiveDetector( fpTrack->GetTouchable()->GetVolume()->GetLogicalVolume()->GetSensitiveDetector()); 00207 fpPreStepPoint->SetPolarization(fpTrack->GetPolarization()); 00208 fpPreStepPoint->SetSafety(0.); 00209 fpPreStepPoint->SetStepStatus(fUndefined); 00210 fpPreStepPoint->SetProcessDefinedStep(0); 00211 fpPreStepPoint->SetMass(fpTrack->GetDynamicParticle()->GetMass()); 00212 fpPreStepPoint->SetCharge(fpTrack->GetDynamicParticle()->GetCharge()); 00213 fpPreStepPoint->SetWeight(fpTrack->GetWeight()); 00214 00215 // Set Velocity 00216 // should be placed after SetMaterial for preStep point 00217 fpPreStepPoint->SetVelocity(fpTrack->CalculateVelocity()); 00218 00219 (*fpPostStepPoint) = (*fpPreStepPoint); 00220 }
G4bool G4Step::IsFirstStepInVolume | ( | ) | const [inline] |
G4bool G4Step::IsLastStepInVolume | ( | ) | const [inline] |
G4TrackVector * G4Step::NewSecondaryVector | ( | ) | [inline] |
Definition at line 268 of file G4Step.icc.
Referenced by G4SteppingManager::G4SteppingManager(), and G4ITStepProcessor::InitDefineStep().
00269 { 00270 fSecondary=new G4TrackVector(); 00271 return fSecondary; 00272 }
Definition at line 122 of file G4Step.cc.
References fFirstStepInVolume, fLastStepInVolume, fNonIonizingEnergyDeposit, fpPostStepPoint, fpPreStepPoint, fpSteppingControlFlag, fpTrack, fpVectorOfAuxiliaryPointsPointer, fSecondary, fStepLength, fTotalEnergyDeposit, nSecondaryByLastStep, and secondaryInCurrentStep.
00124 { 00125 if (this != &right){ 00126 fTotalEnergyDeposit = right.fTotalEnergyDeposit; 00127 fNonIonizingEnergyDeposit = right.fNonIonizingEnergyDeposit; 00128 fStepLength = right.fStepLength; 00129 fpTrack = right.fpTrack; 00130 fpSteppingControlFlag = right.fpSteppingControlFlag; 00131 fFirstStepInVolume = right.fFirstStepInVolume; 00132 fLastStepInVolume = right.fLastStepInVolume; 00133 nSecondaryByLastStep = right.nSecondaryByLastStep; 00134 secondaryInCurrentStep = right.secondaryInCurrentStep; 00135 fpVectorOfAuxiliaryPointsPointer = right.fpVectorOfAuxiliaryPointsPointer; 00136 00137 if (fpPreStepPoint !=0 ) delete fpPreStepPoint; 00138 if (right.fpPreStepPoint !=0) { 00139 fpPreStepPoint = new G4StepPoint(*(right.fpPreStepPoint)); 00140 } else { 00141 fpPreStepPoint = new G4StepPoint(); 00142 } 00143 if (fpPostStepPoint !=0 ) delete fpPostStepPoint; 00144 if (right.fpPostStepPoint !=0) { 00145 fpPostStepPoint = new G4StepPoint(*(right.fpPostStepPoint)); 00146 } else { 00147 fpPostStepPoint = new G4StepPoint(); 00148 } 00149 if (right.fSecondary !=0) { 00150 fSecondary = new G4TrackVector(*(right.fSecondary)); 00151 } else { 00152 fSecondary = new G4TrackVector(); 00153 } 00154 } 00155 return *this; 00156 }
void G4Step::ResetNonIonizingEnergyDeposit | ( | ) | [inline] |
Definition at line 132 of file G4Step.icc.
References fNonIonizingEnergyDeposit.
00133 { 00134 fNonIonizingEnergyDeposit = 0.; 00135 }
void G4Step::ResetTotalEnergyDeposit | ( | ) | [inline] |
Definition at line 119 of file G4Step.icc.
References fNonIonizingEnergyDeposit, and fTotalEnergyDeposit.
Referenced by G4ITStepProcessor::InitDefineStep(), and G4SteppingManager::Stepping().
00120 { 00121 fTotalEnergyDeposit = 0.; 00122 fNonIonizingEnergyDeposit = 0.; 00123 }
void G4Step::SetControlFlag | ( | G4SteppingControl | StepControlFlag | ) | [inline] |
Definition at line 138 of file G4Step.icc.
Referenced by G4ParticleChangeForTransport::UpdateStepForAlongStep(), and G4VParticleChange::UpdateStepInfo().
void G4Step::SetFirstStepFlag | ( | ) | [inline] |
void G4Step::SetLastStepFlag | ( | ) | [inline] |
Definition at line 304 of file G4Step.icc.
Referenced by G4ParticleChangeForTransport::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().
void G4Step::SetNonIonizingEnergyDeposit | ( | G4double | value | ) | [inline] |
Definition at line 107 of file G4Step.icc.
References fNonIonizingEnergyDeposit.
Referenced by G4ScoreSplittingProcess::PostStepDoIt().
00108 { 00109 fNonIonizingEnergyDeposit = value; 00110 }
void G4Step::SetPointerToVectorOfAuxiliaryPoints | ( | std::vector< G4ThreeVector > * | theNewVectorPointer | ) | [inline] |
Definition at line 237 of file G4Step.hh.
Referenced by G4ITStepProcessor::InitDefineStep(), G4SteppingManager::Stepping(), and G4ParticleChangeForTransport::UpdateStepForAlongStep().
void G4Step::SetPostStepPoint | ( | G4StepPoint * | value | ) | [inline] |
void G4Step::SetPreStepPoint | ( | G4StepPoint * | value | ) | [inline] |
void G4Step::SetSecondary | ( | G4TrackVector * | value | ) | [inline] |
void G4Step::SetStepLength | ( | G4double | value | ) | [inline] |
Definition at line 68 of file G4Step.icc.
Referenced by G4ITStepProcessor::DoStepping(), G4ITStepProcessor::InvokeAtRestDoItProcs(), G4ScoreSplittingProcess::PostStepDoIt(), G4SteppingManager::Stepping(), G4ParticleChangeForMSC::UpdateStepForAlongStep(), G4ParticleChangeForGamma::UpdateStepForAtRest(), and G4VParticleChange::UpdateStepInfo().
void G4Step::SetTotalEnergyDeposit | ( | G4double | value | ) | [inline] |
Definition at line 95 of file G4Step.icc.
References fTotalEnergyDeposit.
Referenced by G4ScoreSplittingProcess::PostStepDoIt().
00096 { 00097 fTotalEnergyDeposit = value; 00098 }
void G4Step::SetTrack | ( | G4Track * | value | ) | [inline] |
void G4Step::UpdateTrack | ( | ) | [inline] |
Definition at line 223 of file G4Step.icc.
References G4StepPoint::GetCharge(), G4Track::GetDynamicParticle(), G4StepPoint::GetGlobalTime(), G4StepPoint::GetKineticEnergy(), G4StepPoint::GetLocalTime(), G4StepPoint::GetMass(), G4StepPoint::GetMomentumDirection(), G4StepPoint::GetPolarization(), G4StepPoint::GetPosition(), G4StepPoint::GetProperTime(), G4StepPoint::GetTouchableHandle(), G4StepPoint::GetVelocity(), G4StepPoint::GetWeight(), G4DynamicParticle::SetCharge(), G4Track::SetGlobalTime(), G4Track::SetKineticEnergy(), G4Track::SetLocalTime(), G4DynamicParticle::SetMass(), G4Track::SetMomentumDirection(), G4Track::SetNextTouchableHandle(), G4Track::SetPolarization(), G4Track::SetPosition(), G4Track::SetProperTime(), G4Track::SetStepLength(), G4Track::SetVelocity(), and G4Track::SetWeight().
Referenced by G4ITStepProcessor::InvokeAlongStepDoItProcs(), G4ITStepProcessor::InvokePSDIP(), and G4SteppingManager::Stepping().
00224 { 00225 // To avoid the circular dependency between G4Track, G4Step 00226 // and G4StepPoint, G4Step has to manage the update actions. 00227 // position, time 00228 fpTrack->SetPosition(fpPostStepPoint->GetPosition()); 00229 fpTrack->SetGlobalTime(fpPostStepPoint->GetGlobalTime()); 00230 fpTrack->SetLocalTime(fpPostStepPoint->GetLocalTime()); 00231 fpTrack->SetProperTime(fpPostStepPoint->GetProperTime()); 00232 // energy, momentum, polarization 00233 fpTrack->SetMomentumDirection(fpPostStepPoint->GetMomentumDirection()); 00234 fpTrack->SetKineticEnergy(fpPostStepPoint->GetKineticEnergy()); 00235 fpTrack->SetPolarization(fpPostStepPoint->GetPolarization()); 00236 // mass charge 00237 G4DynamicParticle* pParticle = (G4DynamicParticle*)(fpTrack->GetDynamicParticle()); 00238 pParticle->SetMass(fpPostStepPoint->GetMass()); 00239 pParticle->SetCharge(fpPostStepPoint->GetCharge()); 00240 // step length 00241 fpTrack->SetStepLength(fStepLength); 00242 // NextTouchable is updated 00243 // (G4Track::Touchable points touchable of Pre-StepPoint) 00244 fpTrack->SetNextTouchableHandle(fpPostStepPoint->GetTouchableHandle()); 00245 fpTrack->SetWeight(fpPostStepPoint->GetWeight()); 00246 00247 00248 // set velocity 00249 fpTrack->SetVelocity(fpPostStepPoint->GetVelocity()); 00250 }
G4double G4Step::fNonIonizingEnergyDeposit [protected] |
Definition at line 179 of file G4Step.hh.
Referenced by AddNonIonizingEnergyDeposit(), GetNonIonizingEnergyDeposit(), InitializeStep(), operator=(), ResetNonIonizingEnergyDeposit(), ResetTotalEnergyDeposit(), and SetNonIonizingEnergyDeposit().
G4double G4Step::fTotalEnergyDeposit [protected] |
Definition at line 176 of file G4Step.hh.
Referenced by AddTotalEnergyDeposit(), GetTotalEnergyDeposit(), InitializeStep(), operator=(), ResetTotalEnergyDeposit(), and SetTotalEnergyDeposit().