61 physicsManager( physicsManager ), targetVolume( NULL )
64 const CexmcSetup * setup( static_cast< const CexmcSetup * >(
72 G4Track *
track( step->GetTrack() );
74 track->GetUserInformation() ) );
81 static_cast< CexmcIncidentParticleTrackInfo * >( trackInfo ) );
83 G4StepPoint * postStepPoint( step->GetPostStepPoint() );
84 G4StepStatus stepStatus( postStepPoint->GetStepStatus() );
85 const G4VTouchable * touchable( postStepPoint->GetTouchable() );
88 if ( volume && volume->GetLogicalVolume() ==
targetVolume )
96 if ( stepStatus != fGeomBoundary )
100 track, postStepPoint );
106 G4StepPoint * preStepPoint( step->GetPreStepPoint() );
107 touchable = preStepPoint->GetTouchable();
108 volume = touchable->GetVolume();
110 if ( volume && volume->GetLogicalVolume() ==
targetVolume )
112 if ( stepStatus == fGeomBoundary )
G4bool IsStudiedProcessActivated(void) const
CexmcSteppingAction(CexmcPhysicsManager *physicsManager)
const G4LogicalVolume * GetVolume(SpecialVolumeType volume) const
void AddTrackLengthInTarget(G4double value)
void UserSteppingAction(const G4Step *step)
G4bool NeedsTrackLengthResampling(void) const
static G4RunManager * GetRunManager()
virtual void ResampleTrackLengthInTarget(const G4Track *track, const G4StepPoint *stepPoint=NULL)=0
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const
void ActivateStudiedProcess(G4bool on=true)
CexmcPhysicsManager * physicsManager
const G4LogicalVolume * targetVolume