47 #include "G4ForceCondition.hh" 48 #include "G4GPILSelection.hh" 49 #include "G4SteppingControl.hh" 58 : fUserSteppingAction(0), verboseLevel(0)
80 ->GetNavigatorForTracking());
90 ->GetNavigatorForTracking());
102 fStep->DeleteSecondaryVector();
136 fStep->CopyPostToPreStepPoint();
137 fStep->ResetTotalEnergyDeposit();
140 fTrack->SetTouchableHandle(
fTrack->GetNextTouchableHandle());
151 fStep->SetPointerToVectorOfAuxiliaryPoints(0);
157 if(
fTrack->GetTrackStatus() == fStopButAlive ){
170 fTrack->SetTrackStatus( fStopAndKill );
194 fStep->UpdateTrack();
235 GetSensitiveDetector();
246 =
fStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion()
247 ->GetRegionalSteppingAction();
268 Mass =
fTrack->GetDynamicParticle()->GetMass();
284 if( (
fTrack->GetTrackStatus()==fSuspend) ||
285 (
fTrack->GetTrackStatus()==fPostponeToNextEvent) ){
286 fTrack->SetTrackStatus(fAlive);
291 if(
fTrack->GetKineticEnergy() <= 0.0){
292 fTrack->SetTrackStatus( fStopButAlive );
299 if ( !
fTrack->GetTouchableHandle() ) {
302 &direction,
false, false );
312 fTrack->GetMomentumDirection(),
322 if(
fTrack->GetParentID()==0){
323 fTrack->SetOriginTouchableHandle(
fTrack->GetTouchableHandle());
327 if (
fTrack->GetCurrentStepNumber() == 0 ) {
329 fTrack->SetVertexMomentumDirection(
fTrack->GetMomentumDirection() );
330 fTrack->SetVertexKineticEnergy(
fTrack->GetKineticEnergy() );
331 fTrack->SetLogicalVolumeAtVertex(
fTrack->GetVolume()->GetLogicalVolume() );
339 if(
fTrack->GetParentID()==0)
341 G4cerr <<
"ERROR - G4SteppingManager::SetInitialStep()" <<
G4endl 342 <<
" Primary particle starting at - " 344 <<
" - is outside of the world volume." <<
G4endl;
345 G4Exception(
"G4SteppingManager::SetInitialStep()",
"Tracking0010",
349 fTrack->SetTrackStatus( fStopAndKill );
350 G4cout <<
"WARNING - G4SteppingManager::SetInitialStep()" <<
G4endl 351 <<
" Initial track position is outside world! - "
static G4VSteppingVerbose * GetInstance()
void SetNavigator(G4Navigator *value)
static void SetSilent(G4int fSilent)
virtual void StepInfo()=0
class std::vector< int, std::allocator< int > > G4SelectedAtRestDoItVector
G4SteppingControl StepControlFlag
class std::vector< int, std::allocator< int > > G4SelectedAlongStepDoItVector
virtual void PostStepDoItAllDone()=0
G4VSteppingVerbose * fVerbose
void InvokeAlongStepDoItProcs()
G4UserSteppingAction * fUserSteppingAction
G4double GetSurfaceTolerance() const
G4SelectedPostStepDoItVector * fSelectedPostStepDoItVector
virtual void UserSteppingAction(const G4Step *)
virtual G4VPhysicalVolume * ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
G4SelectedAlongStepDoItVector * fSelectedAlongStepDoItVector
G4double fPreviousStepSize
void DefinePhysicalStepLength()
class std::vector< int, std::allocator< int > > G4SelectedPostStepDoItVector
G4GLOB_DLL std::ostream G4cout
G4int fN2ndariesPostStepDoIt
virtual G4int GetRegularStructureId() const =0
G4bool Hit(G4Step *aStep)
G4ThreeVector endpointSafOrigin
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
void SetInitialStep(G4Track *valueTrack)
G4int fN2ndariesAlongStepDoIt
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static G4TransportationManager * GetTransportationManager()
static void SetInstance(G4VSteppingVerbose *Instance)
G4StepPoint * fPostStepPoint
void InvokePostStepDoItProcs()
G4double TempInitVelocity
G4TrackVector * fSecondary
virtual void AtRestDoItInvoked()=0
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
G4VSensitiveDetector * fSensitive
G4VPhysicalVolume * fCurrentVolume
G4int fN2ndariesAtRestDoIt
virtual void AlongStepDoItAllDone()=0
G4bool PreStepPointIsGeom
G4TouchableHistory * CreateTouchableHistory() const
G4VParticleChange * fParticleChange
G4SelectedAtRestDoItVector * fSelectedAtRestDoItVector
static G4GeometryTolerance * GetInstance()
static const size_t SizeOfSelectedDoItVector
G4GLOB_DLL std::ostream G4cerr
G4TouchableHandle fTouchableHandle
void InvokeAtRestDoItProcs()
virtual void TrackingStarted()=0
G4StepPoint * fPreStepPoint