G4StepLimiter Class Reference

#include <G4StepLimiter.hh>

Inheritance diagram for G4StepLimiter:

G4VProcess

Public Member Functions

 G4StepLimiter (const G4String &processName="StepLimiter")
virtual ~G4StepLimiter ()
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
virtual G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &)
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
virtual G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &)

Detailed Description

Definition at line 45 of file G4StepLimiter.hh.


Constructor & Destructor Documentation

G4StepLimiter::G4StepLimiter ( const G4String processName = "StepLimiter"  ) 

Definition at line 44 of file G4StepLimiter.cc.

References G4cout, G4endl, G4VProcess::GetProcessName(), G4VProcess::SetProcessSubType(), STEP_LIMITER, and G4VProcess::verboseLevel.

00045   : G4VProcess(aName, fGeneral )
00046 {
00047   // set Process Sub Type
00048   SetProcessSubType(static_cast<int>(STEP_LIMITER));
00049 
00050   if (verboseLevel>1) {
00051      G4cout << GetProcessName() << " is created "<< G4endl;
00052    }
00053 }

G4StepLimiter::~G4StepLimiter (  )  [virtual]

Definition at line 57 of file G4StepLimiter.cc.

00058 {
00059 }


Member Function Documentation

virtual G4VParticleChange* G4StepLimiter::AlongStepDoIt ( const G4Track ,
const G4Step  
) [inline, virtual]

Implements G4VProcess.

Definition at line 88 of file G4StepLimiter.hh.

00091                               {return 0;};

virtual G4double G4StepLimiter::AlongStepGetPhysicalInteractionLength ( const G4Track ,
G4double  ,
G4double  ,
G4double ,
G4GPILSelection  
) [inline, virtual]

Implements G4VProcess.

Definition at line 79 of file G4StepLimiter.hh.

00085                              { return -1.0; };

virtual G4VParticleChange* G4StepLimiter::AtRestDoIt ( const G4Track ,
const G4Step  
) [inline, virtual]

Implements G4VProcess.

Definition at line 73 of file G4StepLimiter.hh.

00076                              {return 0;};

virtual G4double G4StepLimiter::AtRestGetPhysicalInteractionLength ( const G4Track ,
G4ForceCondition  
) [inline, virtual]

Implements G4VProcess.

Definition at line 67 of file G4StepLimiter.hh.

00070                              { return -1.0; };

G4VParticleChange * G4StepLimiter::PostStepDoIt ( const G4Track ,
const G4Step  
) [virtual]

Implements G4VProcess.

Definition at line 93 of file G4StepLimiter.cc.

References G4VProcess::aParticleChange, and G4ParticleChange::Initialize().

00097 {
00098    aParticleChange.Initialize(aTrack);
00099    return &aParticleChange;
00100 }

G4double G4StepLimiter::PostStepGetPhysicalInteractionLength ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
) [virtual]

Implements G4VProcess.

Definition at line 71 of file G4StepLimiter.cc.

References DBL_MAX, G4VPhysicalVolume::GetLogicalVolume(), G4UserLimits::GetMaxAllowedStep(), G4LogicalVolume::GetUserLimits(), G4Track::GetVolume(), and NotForced.

00075 {
00076   // condition is set to "Not Forced"
00077   *condition = NotForced;
00078 
00079    G4double proposedStep = DBL_MAX;
00080    G4UserLimits* pUserLimits =
00081                  aTrack.GetVolume()->GetLogicalVolume()->GetUserLimits();
00082    if (pUserLimits) {
00083      // max allowed step length
00084      //
00085      proposedStep = pUserLimits->GetMaxAllowedStep(aTrack);
00086      if (proposedStep < 0.) proposedStep =0.; 
00087    }
00088    return proposedStep;
00089 }


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