G4Step Class Reference

#include <G4Step.hh>


Public Member Functions

 G4Step ()
 ~G4Step ()
 G4Step (const G4Step &)
G4Stepoperator= (const G4Step &)
G4TrackGetTrack () const
void SetTrack (G4Track *value)
G4StepPointGetPreStepPoint () const
void SetPreStepPoint (G4StepPoint *value)
G4StepPointGetPostStepPoint () const
void SetPostStepPoint (G4StepPoint *value)
G4double GetStepLength () const
void SetStepLength (G4double value)
G4double GetTotalEnergyDeposit () const
void SetTotalEnergyDeposit (G4double value)
G4double GetNonIonizingEnergyDeposit () const
void SetNonIonizingEnergyDeposit (G4double value)
G4SteppingControl GetControlFlag () const
void SetControlFlag (G4SteppingControl StepControlFlag)
void AddTotalEnergyDeposit (G4double value)
void ResetTotalEnergyDeposit ()
void AddNonIonizingEnergyDeposit (G4double value)
void ResetNonIonizingEnergyDeposit ()
G4bool IsFirstStepInVolume () const
G4bool IsLastStepInVolume () const
void SetFirstStepFlag ()
void ClearFirstStepFlag ()
void SetLastStepFlag ()
void ClearLastStepFlag ()
G4ThreeVector GetDeltaPosition () const
G4double GetDeltaTime () const
G4ThreeVector GetDeltaMomentum () const
G4double GetDeltaEnergy () const
void InitializeStep (G4Track *aValue)
void UpdateTrack ()
void CopyPostToPreStepPoint ()
G4PolylineCreatePolyline () const
const std::vector< const G4Track * > * GetSecondaryInCurrentStep () const
const G4TrackVectorGetSecondary () const
G4TrackVectorGetfSecondary ()
G4TrackVectorNewSecondaryVector ()
void DeleteSecondaryVector ()
void SetSecondary (G4TrackVector *value)
void SetPointerToVectorOfAuxiliaryPoints (std::vector< G4ThreeVector > *theNewVectorPointer)
std::vector< G4ThreeVector > * GetPointerToVectorOfAuxiliaryPoints () const

Protected Attributes

G4double fTotalEnergyDeposit
G4double fNonIonizingEnergyDeposit


Detailed Description

Definition at line 76 of file G4Step.hh.


Constructor & Destructor Documentation

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 (  ) 

Definition at line 71 of file G4Step.cc.

00073 {
00074   delete fpPreStepPoint;
00075   delete fpPostStepPoint;
00076 
00077   secondaryInCurrentStep->clear();
00078   delete secondaryInCurrentStep;
00079 
00080   if (fSecondary !=0 ) {
00081     fSecondary->clear();
00082     delete fSecondary;
00083   }
00084 }

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 }


Member Function Documentation

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]

Definition at line 299 of file G4Step.icc.

Referenced by G4VParticleChange::UpdateStepInfo().

00300 {
00301    fFirstStepInVolume = false;
00302 }

void G4Step::ClearLastStepFlag (  )  [inline]

Definition at line 309 of file G4Step.icc.

Referenced by G4ParticleChangeForTransport::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().

00310 {
00311    fLastStepInVolume = false;
00312 }

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]

Definition at line 144 of file G4Step.icc.

Referenced by G4SteppingManager::Stepping().

00145  {
00146    return fpSteppingControlFlag;     
00147  }

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().

00258 {
00259    return fSecondary;
00260 }

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]

Definition at line 240 of file G4Step.hh.

Referenced by G4SmoothTrajectory::AppendStep().

00240                                                                         {
00241     return fpVectorOfAuxiliaryPointsPointer;
00242   }

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().

00051  { 
00052    return fpPostStepPoint; 
00053  }

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().

00039  { 
00040    return fpPreStepPoint; 
00041  }

const G4TrackVector * G4Step::GetSecondary (  )  const [inline]

Definition at line 252 of file G4Step.icc.

Referenced by G4SteppingManager::GetSecondary(), and G4ElectronIonPair::ResidualeChargePostStep().

00253 {
00254    return fSecondary;
00255 }

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().

00063  { 
00064    return fStepLength; 
00065  }

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().

00170  { 
00171    return fpTrack; 
00172  }

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]

Definition at line 283 of file G4Step.icc.

00284 {
00285    return fFirstStepInVolume;
00286 }

G4bool G4Step::IsLastStepInVolume (  )  const [inline]

Definition at line 288 of file G4Step.icc.

00289 {
00290    return fLastStepInVolume;
00291 }

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 }

G4Step & G4Step::operator= ( const G4Step  ) 

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().

00139  {
00140    fpSteppingControlFlag = value;     
00141  }

void G4Step::SetFirstStepFlag (  )  [inline]

Definition at line 294 of file G4Step.icc.

Referenced by G4VParticleChange::UpdateStepInfo().

00295 {
00296    fFirstStepInVolume = true;
00297 }

void G4Step::SetLastStepFlag (  )  [inline]

Definition at line 304 of file G4Step.icc.

Referenced by G4ParticleChangeForTransport::UpdateStepForPostStep(), and G4VParticleChange::UpdateStepInfo().

00305 {
00306    fLastStepInVolume = true;
00307 }

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().

00237                                                                                             {
00238     fpVectorOfAuxiliaryPointsPointer = theNewVectorPointer;
00239   }

void G4Step::SetPostStepPoint ( G4StepPoint value  )  [inline]

Definition at line 56 of file G4Step.icc.

00057  { 
00058    fpPostStepPoint = value; 
00059  }

void G4Step::SetPreStepPoint ( G4StepPoint value  )  [inline]

Definition at line 44 of file G4Step.icc.

00045  { 
00046    fpPreStepPoint = value; 
00047  }

void G4Step::SetSecondary ( G4TrackVector value  )  [inline]

Definition at line 262 of file G4Step.icc.

00263 {
00264    fSecondary=value;
00265 }

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().

00069  { 
00070    fStepLength = value; 
00071  }

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]

Definition at line 175 of file G4Step.icc.

Referenced by G4SteppingManager::Stepping().

00176  { 
00177    fpTrack = value; 
00178  }

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 }


Field Documentation

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().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:26 2013 for Geant4 by  doxygen 1.4.7