47 #ifndef G4VITProcess_H 
   48 #define G4VITProcess_H 
   77 #define InitProcessState(destinationType,source) \ 
   78     reference_cast<destinationType>(source) 
   80 #define DowncastProcessState(destinationType) \ 
   81     G4dynamic_pointer_cast<destinationType>(G4VITProcess::fpState) 
   83 #define UpcastProcessState(destinationType) \ 
   84     G4dynamic_pointer_cast<destinationType>(G4VITProcess::fpState) 
   86 #define DowncastState(destinationType,source) \ 
   87     G4dynamic_pointer_cast<destinationType>(source) 
   89 #define UpcastState(destinationType,source) \ 
   90     G4dynamic_pointer_cast<destinationType>(source) 
  184       return "G4ProcessState";
 
  200         return dynamic_cast<T*
>(
this);
 
  218         return typeid(T).
name();
 
  242     fInstantiateProcessState = flag;
 
  247     return fInstantiateProcessState;
 
  259   staticsize_t *fNbProcess;
 
  261   G4bool fInstantiateProcessState;
 
  264   G4double* theNumberOfInteractionLengthLeft;
 
  271   fpState->theInteractionTimeLeft = -1.0;
 
  276   fpState->theNumberOfInteractionLengthLeft = -1.0;
 
  298   if (!fNbProcess) fNbProcess = 
new size_t(0);
 
  305   if (
fpState->currentInteractionLength > 0.0)
 
  307     fpState->theNumberOfInteractionLengthLeft -= previousStepSize
 
  308         / 
fpState->currentInteractionLength;
 
  309     if (
fpState->theNumberOfInteractionLengthLeft < 0.)
 
  320       G4cerr << 
"G4VITProcess::SubtractNumberOfInteractionLengthLeft()";
 
  322       G4cerr << 
" currentInteractionLength = " 
  323              << 
fpState->currentInteractionLength << 
" [mm]";
 
  324       G4cerr << 
" previousStepSize = " << previousStepSize << 
" [mm]";
 
  328              G4String msg = 
"Negative currentInteractionLength for ";
 
  330              G4Exception(
"G4VITProcess::SubtractNumberOfInteractionLengthLeft()",
 
  335 #endif // G4VITProcess_H 
#define DowncastState(destinationType, source)
 
virtual void ClearNumberOfInteractionLengthLeft()
 
virtual ~G4ProcessStateBase()
 
static const size_t & GetMaxProcessIndex()
 
void RetrieveProcessInfo()
 
G4double currentInteractionLength
 
#define G4IT_TO_BE_CLONED(parent_class)
 
virtual G4String GetType()
 
virtual void ResetNumberOfInteractionLengthLeft()
 
G4VITProcess(const G4String &name, G4ProcessType type=fNotDefined)
 
#define UpcastProcessState(destinationType)
 
G4double theInteractionTimeLeft
 
void SetInstantiateProcessState(G4bool flag)
 
virtual void SubtractNumberOfInteractionLengthLeft(G4double previousStepSize)
 
virtual void ClearInteractionTimeLeft()
 
G4int operator==(const G4VITProcess &right) const 
 
G4shared_ptr< G4ProcessState_Lock > GetProcessState()
 
G4VITProcess & operator=(const G4VITProcess &other)
 
virtual ~G4ProcessState_Lock()
 
virtual ~G4ProcessState()
 
virtual void StartTracking(G4Track *)
 
G4shared_ptr< G4ProcessState > fpState
 
static constexpr double perMillion
 
G4double GetInteractionTimeLeft()
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
void SetProcessState(G4shared_ptr< G4ProcessState_Lock > aProcInfo)
 
G4bool InstantiateProcessState()
 
G4int operator!=(const G4VITProcess &right) const 
 
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
 
G4bool ProposesTimeStep() const 
 
size_t GetProcessID() const 
 
virtual G4String GetType()
 
G4double theNumberOfInteractionLengthLeft
 
G4GLOB_DLL std::ostream G4cerr