#include <G4VITProcess.hh>
Inheritance diagram for G4VITProcess:
Definition at line 63 of file G4VITProcess.hh.
G4VITProcess::G4VITProcess | ( | const G4String & | name, | |
G4ProcessType | type = fNotDefined | |||
) |
Definition at line 34 of file G4VITProcess.cc.
References fProposesTimeStep, and SetInstantiateProcessState().
00034 : 00035 G4VProcess( name, type ), 00036 fpState (0), 00037 fProcessID(fNbProcess) 00038 { 00039 fNbProcess++; 00040 SetInstantiateProcessState(true); 00041 currentInteractionLength = 0; 00042 theInteractionTimeLeft = 0; 00043 theNumberOfInteractionLengthLeft = 0; 00044 fProposesTimeStep = false; 00045 }
G4VITProcess::~G4VITProcess | ( | ) | [virtual] |
G4VITProcess::G4VITProcess | ( | const G4VITProcess & | other | ) |
Definition at line 63 of file G4VITProcess.cc.
References fInstantiateProcessState, fProposesTimeStep, and fpState.
00063 : G4VProcess(other), fProcessID(other.fProcessID) 00064 { 00065 //copy ctor 00066 fpState = 0 ; 00067 currentInteractionLength = 0; 00068 theInteractionTimeLeft = 0; 00069 theNumberOfInteractionLengthLeft = 0; 00070 fInstantiateProcessState = other.fInstantiateProcessState; 00071 fProposesTimeStep = other.fProposesTimeStep; 00072 }
virtual void G4VITProcess::BuildPhysicsTable | ( | const G4ParticleDefinition & | ) | [inline, virtual] |
Reimplemented from G4VProcess.
Reimplemented in G4ITTransportation, G4DNABrownianTransportation, and G4DNASecondOrderReaction.
Definition at line 100 of file G4VITProcess.hh.
void G4VITProcess::ClearInteractionTimeLeft | ( | ) | [inline, protected, virtual] |
Definition at line 179 of file G4VITProcess.hh.
References fpState, and G4VITProcess::G4ProcessState::theInteractionTimeLeft.
Referenced by G4DNAMolecularDecay::AtRestDoIt().
00180 { 00181 fpState->theInteractionTimeLeft = -1.0; 00182 }
void G4VITProcess::ClearNumberOfInteractionLengthLeft | ( | ) | [inline, protected, virtual] |
Reimplemented from G4VProcess.
Definition at line 184 of file G4VITProcess.hh.
References fpState, and G4VITProcess::G4ProcessState::theNumberOfInteractionLengthLeft.
Referenced by G4VITRestProcess::AtRestDoIt(), G4VITRestDiscreteProcess::AtRestDoIt(), G4DNAMolecularDecay::AtRestDoIt(), and G4VITRestDiscreteProcess::PostStepDoIt().
00185 { 00186 fpState->theNumberOfInteractionLengthLeft = -1.0; 00187 }
void G4VITProcess::CreateInfo | ( | ) | [protected] |
G4double G4VITProcess::GetInteractionTimeLeft | ( | ) | [inline] |
Definition at line 194 of file G4VITProcess.hh.
References fpState, and G4VITProcess::G4ProcessState::theInteractionTimeLeft.
Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength().
00195 { 00196 if(fpState) 00197 return fpState->theInteractionTimeLeft ; 00198 00199 return -1 ; 00200 }
const size_t & G4VITProcess::GetMaxProcessIndex | ( | ) | [inline, static] |
Definition at line 207 of file G4VITProcess.hh.
Referenced by G4TrackingInformation::GetProcessState().
size_t G4VITProcess::GetProcessID | ( | ) | const [inline] |
Definition at line 80 of file G4VITProcess.hh.
Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), G4ITStepProcessor::FindTransportationStep(), G4ITStepProcessor::GetAtRestIL(), G4ITStepProcessor::InvokeAlongStepDoItProcs(), G4ITStepProcessor::InvokeAtRestDoItProcs(), and G4ITStepProcessor::InvokePSDIP().
G4ProcessState_Lock* G4VITProcess::GetProcessState | ( | ) | [inline] |
Definition at line 85 of file G4VITProcess.hh.
References fpState.
00086 { 00087 return fpState; 00088 }
G4bool G4VITProcess::InstantiateProcessState | ( | ) | [inline, protected] |
Reimplemented in G4ITTransportation.
Definition at line 161 of file G4VITProcess.hh.
Referenced by StartTracking().
G4int G4VITProcess::operator!= | ( | const G4VITProcess & | right | ) | const |
G4VITProcess & G4VITProcess::operator= | ( | const G4VITProcess & | other | ) |
Definition at line 74 of file G4VITProcess.cc.
00075 { 00076 if (this == &rhs) return *this; // handle self assignment 00077 //assignment operator 00078 return *this; 00079 }
G4int G4VITProcess::operator== | ( | const G4VITProcess & | right | ) | const |
G4bool G4VITProcess::ProposesTimeStep | ( | ) | const [inline] |
Definition at line 202 of file G4VITProcess.hh.
References fProposesTimeStep.
Referenced by G4DNABrownianTransportation::ComputeStep(), and G4ITStepProcessor::DoDefinePhysicalStepLength().
00203 { 00204 return fProposesTimeStep; 00205 }
void G4VITProcess::ResetNumberOfInteractionLengthLeft | ( | ) | [inline, virtual] |
WARNING : Redefine the method of G4VProcess reset (determine the value of)NumberOfInteractionLengthLeft
Reimplemented from G4VProcess.
Definition at line 189 of file G4VITProcess.hh.
References fpState, G4UniformRand, and G4VITProcess::G4ProcessState::theNumberOfInteractionLengthLeft.
Referenced by G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), and G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength().
00190 { 00191 fpState->theNumberOfInteractionLengthLeft = -std::log( G4UniformRand() ); 00192 }
void G4VITProcess::RetrieveProcessInfo | ( | ) | [protected] |
void G4VITProcess::SetInstantiateProcessState | ( | G4bool | flag | ) | [inline, protected] |
Reimplemented in G4ITTransportation.
Definition at line 158 of file G4VITProcess.hh.
Referenced by G4ITTransportation::G4ITTransportation(), and G4VITProcess().
void G4VITProcess::SetProcessState | ( | G4ProcessState_Lock * | aProcInfo | ) | [inline] |
Definition at line 90 of file G4VITProcess.hh.
References fpState.
Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), G4ITStepProcessor::FindTransportationStep(), G4ITStepProcessor::GetAtRestIL(), G4ITStepProcessor::InvokeAlongStepDoItProcs(), G4ITStepProcessor::InvokeAtRestDoItProcs(), and G4ITStepProcessor::InvokePSDIP().
00091 { 00092 fpState = (G4ProcessState*) aProcInfo; 00093 }
void G4VITProcess::StartTracking | ( | G4Track * | ) | [virtual] |
Reimplemented from G4VProcess.
Reimplemented in G4ITTransportation, G4DNABrownianTransportation, and G4DNASecondOrderReaction.
Definition at line 81 of file G4VITProcess.cc.
References G4VITProcess::G4ProcessState::currentInteractionLength, fpState, GetIT(), G4IT::GetTrackingInfo(), InstantiateProcessState(), G4TrackingInformation::RecordProcessState(), G4VITProcess::G4ProcessState::theInteractionTimeLeft, and G4VITProcess::G4ProcessState::theNumberOfInteractionLengthLeft.
Referenced by G4ITTransportation::StartTracking(), and G4DNASecondOrderReaction::StartTracking().
00082 { 00083 G4TrackingInformation* trackingInfo = GetIT(track)->GetTrackingInfo(); 00084 if(InstantiateProcessState()) 00085 { 00086 fpState = new G4ProcessState(); 00087 } 00088 00089 theNumberOfInteractionLengthLeft = &(fpState->theNumberOfInteractionLengthLeft ); 00090 theInteractionTimeLeft = &(fpState->theInteractionTimeLeft ); 00091 currentInteractionLength = &(fpState->currentInteractionLength ); 00092 trackingInfo->RecordProcessState(fpState,fProcessID); 00093 fpState = 0; 00094 }
void G4VITProcess::SubtractNumberOfInteractionLengthLeft | ( | G4double | previousStepSize | ) | [protected, virtual] |
Reimplemented from G4VProcess.
Definition at line 96 of file G4VITProcess.cc.
References G4VITProcess::G4ProcessState::currentInteractionLength, EventMustBeAborted, fpState, G4cerr, G4endl, G4Exception(), G4VITProcess::G4ProcessState::theNumberOfInteractionLengthLeft, G4VProcess::theProcessName, and G4VProcess::verboseLevel.
Referenced by G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), and G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength().
00098 { 00099 if (fpState->currentInteractionLength>0.0) { 00100 fpState->theNumberOfInteractionLengthLeft -= previousStepSize/(fpState->currentInteractionLength); 00101 if(fpState->theNumberOfInteractionLengthLeft<0.) { 00102 fpState->theNumberOfInteractionLengthLeft=perMillion; 00103 } 00104 00105 } else { 00106 #ifdef G4VERBOSE 00107 if (verboseLevel>0) { 00108 G4cerr << "G4VProcess::SubtractNumberOfInteractionLengthLeft()"; 00109 G4cerr << " [" << theProcessName << "]" <<G4endl; 00110 G4cerr << " currentInteractionLength = " << *currentInteractionLength/cm << " [cm]"; 00111 G4cerr << " previousStepSize = " << previousStepSize/cm << " [cm]"; 00112 G4cerr << G4endl; 00113 } 00114 #endif 00115 G4Exception("G4VProcess::SubtractNumberOfInteractionLengthLeft()", 00116 "Negative currentInteractionLength",EventMustBeAborted,theProcessName); 00117 } 00118 }
G4bool G4VITProcess::fProposesTimeStep [protected] |
Definition at line 163 of file G4VITProcess.hh.
Referenced by G4VITProcess(), and ProposesTimeStep().
G4ProcessState* G4VITProcess::fpState [protected] |
Definition at line 139 of file G4VITProcess.hh.
Referenced by G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), ClearInteractionTimeLeft(), ClearNumberOfInteractionLengthLeft(), G4VITProcess(), GetInteractionTimeLeft(), GetProcessState(), G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), ResetNumberOfInteractionLengthLeft(), SetProcessState(), StartTracking(), G4ITTransportation::StartTracking(), G4DNASecondOrderReaction::StartTracking(), G4DNABrownianTransportation::StartTracking(), and SubtractNumberOfInteractionLengthLeft().