Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
RE01SteppingAction Class Reference

#include <RE01SteppingAction.hh>

Inheritance diagram for RE01SteppingAction:
G4UserSteppingAction

Public Member Functions

 RE01SteppingAction ()
 
virtual ~RE01SteppingAction ()
 
virtual void UserSteppingAction (const G4Step *)
 
- Public Member Functions inherited from G4UserSteppingAction
 G4UserSteppingAction ()
 
virtual ~G4UserSteppingAction ()
 
void SetSteppingManagerPointer (G4SteppingManager *pValue)
 

Additional Inherited Members

- Protected Attributes inherited from G4UserSteppingAction
G4SteppingManagerfpSteppingManager
 

Detailed Description

Definition at line 38 of file RE01SteppingAction.hh.

Constructor & Destructor Documentation

RE01SteppingAction::RE01SteppingAction ( )

Definition at line 44 of file RE01SteppingAction.cc.

RE01SteppingAction::~RE01SteppingAction ( )
virtual

Definition at line 49 of file RE01SteppingAction.cc.

50 {;}

Member Function Documentation

void RE01SteppingAction::UserSteppingAction ( const G4Step theStep)
virtual

Reimplemented from G4UserSteppingAction.

Definition at line 53 of file RE01SteppingAction.cc.

References fAlive, fSuspend, G4VPhysicalVolume::GetLogicalVolume(), G4StepPoint::GetPhysicalVolume(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), G4LogicalVolume::GetRegion(), G4Step::GetTrack(), G4Track::GetTrackStatus(), G4Region::GetUserInformation(), RE01RegionInformation::IsCalorimeter(), and G4Track::SetTrackStatus().

54 {
55  // Suspend a track if it is entering into the calorimeter
56 
57  // check if it is alive
58  G4Track * theTrack = theStep->GetTrack();
59  if(theTrack->GetTrackStatus()!=fAlive) { return; }
60 
61  // get region information
62  G4StepPoint * thePrePoint = theStep->GetPreStepPoint();
63  G4LogicalVolume * thePreLV =
64  thePrePoint->GetPhysicalVolume()->GetLogicalVolume();
65  RE01RegionInformation* thePreRInfo
67  G4StepPoint * thePostPoint = theStep->GetPostStepPoint();
68  G4LogicalVolume * thePostLV =
69  thePostPoint->GetPhysicalVolume()->GetLogicalVolume();
70  RE01RegionInformation* thePostRInfo
72 
73  // check if it is entering to the calorimeter volume
74  if(!(thePreRInfo->IsCalorimeter()) && (thePostRInfo->IsCalorimeter()))
75  { theTrack->SetTrackStatus(fSuspend); }
76 }
void SetTrackStatus(const G4TrackStatus aTrackStatus)
G4VUserRegionInformation * GetUserInformation() const
G4TrackStatus GetTrackStatus() const
G4Region * GetRegion() const
G4StepPoint * GetPreStepPoint() const
G4VPhysicalVolume * GetPhysicalVolume() const
G4LogicalVolume * GetLogicalVolume() const
G4StepPoint * GetPostStepPoint() const
G4Track * GetTrack() const

The documentation for this class was generated from the following files: