G4IVContinuousDiscreteProcess Class Reference

#include <G4IVContinuousDiscreteProcess.hh>

Inheritance diagram for G4IVContinuousDiscreteProcess:

G4VProcess

Public Member Functions

 G4IVContinuousDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined)
 G4IVContinuousDiscreteProcess (G4IVContinuousDiscreteProcess &)
virtual ~G4IVContinuousDiscreteProcess ()
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
virtual G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &)
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety, G4GPILSelection *selection)
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &)
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
virtual G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)

Protected Member Functions

virtual G4double GetContinuousStepLimit (const G4Track &aTrack, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety)=0
virtual void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
void SetGPILSelection (G4GPILSelection selection)
G4GPILSelection GetGPILSelection () const

Protected Attributes

G4PhysicsTabletheNlambdaTable
G4PhysicsTabletheInverseNlambdaTable
const G4double BIGSTEP

Detailed Description

Definition at line 60 of file G4IVContinuousDiscreteProcess.hh.


Constructor & Destructor Documentation

G4IVContinuousDiscreteProcess::G4IVContinuousDiscreteProcess ( const G4String ,
G4ProcessType  aType = fNotDefined 
)

Definition at line 50 of file G4IVContinuousDiscreteProcess.cc.

References G4VProcess::enableAtRestDoIt, and G4IVContinuousDiscreteProcess().

Referenced by G4IVContinuousDiscreteProcess().

00051   : G4VProcess(aName, aType),
00052     valueGPILSelection(CandidateForSelection), 
00053     theNlambdaTable(0),theInverseNlambdaTable(0),
00054     BIGSTEP(1.e10)
00055 {
00056   enableAtRestDoIt = false;
00057 }

G4IVContinuousDiscreteProcess::G4IVContinuousDiscreteProcess ( G4IVContinuousDiscreteProcess  ) 

Definition at line 62 of file G4IVContinuousDiscreteProcess.cc.

References G4IVContinuousDiscreteProcess().

00063   : G4VProcess(right),
00064     valueGPILSelection(right.valueGPILSelection),
00065     theNlambdaTable(0),theInverseNlambdaTable(0),
00066     BIGSTEP(right.BIGSTEP)
00067 {
00068 }

G4IVContinuousDiscreteProcess::~G4IVContinuousDiscreteProcess (  )  [virtual]

Definition at line 58 of file G4IVContinuousDiscreteProcess.cc.

00059 {
00060 }


Member Function Documentation

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

Implements G4VProcess.

Definition at line 166 of file G4IVContinuousDiscreteProcess.hh.

References G4VProcess::ClearNumberOfInteractionLengthLeft(), and G4VProcess::pParticleChange.

00170 { 
00171 //  clear  NumberOfInteractionLengthLeft
00172     ClearNumberOfInteractionLengthLeft();
00173     return pParticleChange;
00174 }

G4double G4IVContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength ( const G4Track ,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety,
G4GPILSelection selection 
) [inline, virtual]

Implements G4VProcess.

Definition at line 176 of file G4IVContinuousDiscreteProcess.hh.

References CandidateForSelection, G4DynamicParticle::DumpInfo(), G4cout, G4endl, GetContinuousStepLimit(), G4Track::GetDynamicParticle(), G4Track::GetMaterial(), G4Material::GetName(), G4VProcess::GetProcessName(), and G4VProcess::verboseLevel.

00183 {
00184   // GPILSelection is set to defaule value of CandidateForSelection
00185   valueGPILSelection = CandidateForSelection;
00186 
00187   // get Step limit proposed by the process
00188   G4double steplength = GetContinuousStepLimit(track,previousStepSize,currentMinimumStep, currentSafety);
00189 
00190   // set return value for G4GPILSelection
00191   *selection = valueGPILSelection;
00192 
00193   if (verboseLevel>1){
00194     G4cout << "G4IVContinuousDiscreteProcess::AlongStepGetPhysicalInteractionLength ";
00195     G4cout << "[ " << GetProcessName() << "]" <<G4endl;
00196     track.GetDynamicParticle()->DumpInfo();
00197     G4cout << " in Material  " <<  track.GetMaterial()->GetName() <<G4endl;
00198     G4cout << "IntractionLength= " << steplength/CLHEP::cm <<"[cm] " <<G4endl;
00199   }
00200   return  steplength ;
00201 }

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

Implements G4VProcess.

Definition at line 104 of file G4IVContinuousDiscreteProcess.hh.

00107                               {return 0;};

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

Implements G4VProcess.

Definition at line 98 of file G4IVContinuousDiscreteProcess.hh.

00101                               { return -1.0; };

virtual G4double G4IVContinuousDiscreteProcess::GetContinuousStepLimit ( const G4Track aTrack,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety 
) [protected, pure virtual]

Referenced by AlongStepGetPhysicalInteractionLength().

G4GPILSelection G4IVContinuousDiscreteProcess::GetGPILSelection (  )  const [inline, protected]

Definition at line 129 of file G4IVContinuousDiscreteProcess.hh.

00129 {return valueGPILSelection;};

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

Implements G4VProcess.

Definition at line 156 of file G4IVContinuousDiscreteProcess.hh.

References G4VProcess::ClearNumberOfInteractionLengthLeft(), and G4VProcess::pParticleChange.

00160 { 
00161 //  clear  NumberOfInteractionLengthLeft
00162     ClearNumberOfInteractionLengthLeft();
00163     return pParticleChange;
00164 }

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

Implements G4VProcess.

Definition at line 72 of file G4IVContinuousDiscreteProcess.cc.

References DBL_MAX.

00077 {
00078   G4double value = DBL_MAX ;
00079 
00080   return value;
00081 }

void G4IVContinuousDiscreteProcess::SetGPILSelection ( G4GPILSelection  selection  )  [inline, protected]

Definition at line 126 of file G4IVContinuousDiscreteProcess.hh.

00127     { valueGPILSelection = selection;};

void G4IVContinuousDiscreteProcess::SubtractNumberOfInteractionLengthLeft ( G4double  previousStepSize  )  [inline, protected, virtual]

Reimplemented from G4VProcess.

Definition at line 147 of file G4IVContinuousDiscreteProcess.hh.

00150 {
00151  // dummy routine
00152   ;
00153 }  


Field Documentation

const G4double G4IVContinuousDiscreteProcess::BIGSTEP [protected]

Definition at line 139 of file G4IVContinuousDiscreteProcess.hh.

G4PhysicsTable* G4IVContinuousDiscreteProcess::theInverseNlambdaTable [protected]

Definition at line 138 of file G4IVContinuousDiscreteProcess.hh.

G4PhysicsTable* G4IVContinuousDiscreteProcess::theNlambdaTable [protected]

Definition at line 137 of file G4IVContinuousDiscreteProcess.hh.


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