58 : fUserSteppingAction(0), verboseLevel(0)
70 fVerbose -> SetManager(
this);
75 fVerbose -> SetManager(
this);
80 ->GetNavigatorForTracking());
82 fSelectedAtRestDoItVector
84 fSelectedAlongStepDoItVector
86 fSelectedPostStepDoItVector
90 ->GetNavigatorForTracking());
100 fTouchableHandle = 0;
105 delete fSelectedAtRestDoItVector;
106 delete fSelectedAlongStepDoItVector;
107 delete fSelectedPostStepDoItVector;
108 if (fUserSteppingAction)
delete fUserSteppingAction;
125 if(verboseLevel>0) fVerbose->
NewStep();
127 if(verboseLevel==-1) {
143 fN2ndariesAtRestDoIt = 0;
144 fN2ndariesAlongStepDoIt = 0;
145 fN2ndariesPostStepDoIt = 0;
158 if( MAXofAtRestLoops>0 ){
159 InvokeAtRestDoItProcs();
180 DefinePhysicalStepLength();
185 G4double GeomStepLength = PhysicalStep;
191 InvokeAlongStepDoItProcs();
199 endpointSafety=
std::max( proposedSafety - GeomStepLength, kCarTolerance);
209 InvokePostStepDoItProcs();
228 if(verboseLevel>0) fVerbose->
StepInfo();
235 GetSensitiveDetector();
236 if( fSensitive != 0 ) {
237 fSensitive->
Hit(fStep);
242 if( fUserSteppingAction != 0 ) {
261 PreStepPointIsGeom =
false;
264 fPreviousStepSize = 0.;
271 GeometricalStep = 0.;
273 PreStepPointIsGeom =
false;
277 TempInitVelocity = 0.;
279 sumEnergyChange = 0.;
302 &direction,
false, false );
329 fCurrentVolume = fTouchableHandle->
GetVolume();
332 if( fCurrentVolume==0 ){
336 G4cerr <<
"ERROR - G4SteppingManager::SetInitialStep()" <<
G4endl
337 <<
" Primary particle starting at - "
339 <<
" - is outside of the world volume." <<
G4endl;
340 G4Exception(
"G4SteppingManager::SetInitialStep()",
"Tracking0010",
345 G4cout <<
"WARNING - G4SteppingManager::SetInitialStep()" <<
G4endl
346 <<
" Initial track position is outside world! - "
void SetTrackStatus(const G4TrackStatus aTrackStatus)
void SetStepLength(G4double value)
G4int GetParentID() const
void SetTrack(G4Track *value)
void SetVertexMomentumDirection(const G4ThreeVector &aValue)
static G4VSteppingVerbose * GetInstance()
void SetNavigator(G4Navigator *value)
G4double GetStepLength() const
static void SetSilent(G4int fSilent)
void DeleteSecondaryVector()
const G4DynamicParticle * GetDynamicParticle() const
virtual void StepInfo()=0
class std::vector< int, std::allocator< int > > G4SelectedAtRestDoItVector
class std::vector< int, std::allocator< int > > G4SelectedAlongStepDoItVector
virtual void PostStepDoItAllDone()=0
const G4ThreeVector & GetPosition() const
G4double GetSurfaceTolerance() const
G4TrackStatus GetTrackStatus() const
void SetNextTouchableHandle(const G4TouchableHandle &apValue)
void SetTouchableHandle(const G4TouchableHandle &apValue)
G4SteppingControl GetControlFlag() const
void SetPointerToVectorOfAuxiliaryPoints(std::vector< G4ThreeVector > *theNewVectorPointer)
G4Region * GetRegion() const
virtual void UserSteppingAction(const G4Step *)
void SetStepStatus(const G4StepStatus aValue)
virtual G4VPhysicalVolume * ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, const G4TouchableHistory &h)
G4StepPoint * GetPreStepPoint() const
G4double GetKineticEnergy() const
class std::vector< int, std::allocator< int > > G4SelectedPostStepDoItVector
G4GLOB_DLL std::ostream G4cout
G4int GetCurrentStepNumber() const
G4TrackVector * NewSecondaryVector()
G4VPhysicalVolume * GetPhysicalVolume() const
const G4ThreeVector & GetPosition() const
void SetStepLength(G4double value)
virtual G4int GetRegularStructureId() const =0
void ResetTotalEnergyDeposit()
void SetVertexKineticEnergy(const G4double aValue)
const G4TouchableHandle & GetNextTouchableHandle() const
G4bool Hit(G4Step *aStep)
const G4TouchableHandle & GetTouchableHandle() const
void SetInitialStep(G4Track *valueTrack)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static G4TransportationManager * GetTransportationManager()
G4TouchableHistory * CreateTouchableHistory() const
const G4ThreeVector & GetMomentumDirection() const
static void SetInstance(G4VSteppingVerbose *Instance)
G4LogicalVolume * GetLogicalVolume() const
T max(const T t1, const T t2)
brief Return the largest of the two arguments
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
void SetVertexPosition(const G4ThreeVector &aValue)
G4StepPoint * GetPostStepPoint() const
virtual void AtRestDoItInvoked()=0
virtual G4VPhysicalVolume * LocateGlobalPointAndSetup(const G4ThreeVector &point, const G4ThreeVector *direction=0, const G4bool pRelativeSearch=true, const G4bool ignoreDirection=true)
G4VPhysicalVolume * GetVolume() const
void AddTrackLength(const G4double aValue)
void InitializeStep(G4Track *aValue)
virtual void AlongStepDoItAllDone()=0
void SetSafety(const G4double aValue)
G4UserSteppingAction * GetRegionalSteppingAction() const
static G4GeometryTolerance * GetInstance()
G4GLOB_DLL std::ostream G4cerr
void SetLogicalVolumeAtVertex(const G4LogicalVolume *)
void CopyPostToPreStepPoint()
virtual void TrackingStarted()=0