76#define InitProcessState(destinationType,source) \
77 reference_cast<destinationType>(source)
79#define DowncastProcessState(destinationType) \
80 G4dynamic_pointer_cast<destinationType>(G4VITProcess::fpState)
82#define UpcastProcessState(destinationType) \
83 G4dynamic_pointer_cast<destinationType>(G4VITProcess::fpState)
85#define DowncastState(destinationType,source) \
86 G4dynamic_pointer_cast<destinationType>(source)
88#define UpcastState(destinationType,source) \
89 G4dynamic_pointer_cast<destinationType>(source)
173 return "G4ProcessState";
189 return dynamic_cast<T*
>(
this);
207 return typeid(T).name();
231 fInstantiateProcessState = flag;
236 return fInstantiateProcessState;
248 staticsize_t *fNbProcess;
250 G4bool fInstantiateProcessState;
253 G4double* theNumberOfInteractionLengthLeft;
260 fpState->theInteractionTimeLeft = -1.0;
265 fpState->theNumberOfInteractionLengthLeft = -1.0;
287 if (!fNbProcess) fNbProcess =
new size_t(0);
294 if (
fpState->currentInteractionLength > 0.0)
296 fpState->theNumberOfInteractionLengthLeft -= previousStepSize
297 /
fpState->currentInteractionLength;
298 if (
fpState->theNumberOfInteractionLengthLeft < 0.)
300 fpState->theNumberOfInteractionLengthLeft = CLHEP::perMillion;
309 G4cerr <<
"G4VITProcess::SubtractNumberOfInteractionLengthLeft()";
311 G4cerr <<
" currentInteractionLength = "
312 <<
fpState->currentInteractionLength <<
" [mm]";
313 G4cerr <<
" previousStepSize = " << previousStepSize <<
" [mm]";
317 G4String msg =
"Negative currentInteractionLength for ";
319 G4Exception(
"G4VITProcess::SubtractNumberOfInteractionLengthLeft()",
#define G4IT_TO_BE_CLONED(parent_class)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define DowncastState(destinationType, source)
#define UpcastProcessState(destinationType)
G4GLOB_DLL std::ostream G4cerr
virtual G4String GetType()
virtual ~G4ProcessStateBase()
G4bool ProposesTimeStep() const
virtual void StartTracking(G4Track *)
G4bool operator!=(const G4VITProcess &right) const
void SetInstantiateProcessState(G4bool flag)
size_t GetProcessID() const
virtual void SubtractNumberOfInteractionLengthLeft(G4double previousStepSize)
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4shared_ptr< G4ProcessState > fpState
G4bool operator==(const G4VITProcess &right) const
G4shared_ptr< G4ProcessState_Lock > GetProcessState()
virtual void ResetNumberOfInteractionLengthLeft()
virtual void ClearInteractionTimeLeft()
void SetProcessState(G4shared_ptr< G4ProcessState_Lock > aProcInfo)
G4VITProcess & operator=(const G4VITProcess &other)
void RetrieveProcessInfo()
G4bool InstantiateProcessState()
G4double GetInteractionTimeLeft()
static const size_t & GetMaxProcessIndex()
virtual void ClearNumberOfInteractionLengthLeft()
virtual ~G4ProcessState_Lock()
G4double currentInteractionLength
G4double theNumberOfInteractionLengthLeft
virtual ~G4ProcessState()
virtual G4String GetType()
G4double theInteractionTimeLeft