47 #ifndef G4ITMODELPROCESSOR_H
48 #define G4ITMODELPROCESSOR_H
108 G4bool reachedUserTimeLimit,
134 const double currentStepTime,
135 const double previousStepTime,
136 const bool reachedUserStepTimeLimit);
140 inline const std::vector<std::vector<G4VITStepModel*> >*
GetCurrentModel();
222 <<
"You are trying to set a new model while the model processor has alreaday be initialized";
223 G4Exception(
"G4ITModelProcessor::SetModelHandler",
"ITModelProcessor001",
233 #endif // G4ITMODELPROCESSOR_H
G4ITModelHandler holds for two IT types the corresponding model manager.
G4ITTrackingManager * fpTrackingManager
The G4ITModelProcessor will call the two processes defined in G4VITModel.
std::ostringstream G4ExceptionDescription
void SetTrackingManager(G4ITTrackingManager *trackingManager)
void SetTrack(const G4Track *)
std::vector< G4ITReactionChange * > fReactionInfo
Define what to do before stepping and after stepping.
std::vector< std::vector< G4VITStepModel * > > fCurrentModel
void CalculateTimeStep(const G4Track *, const G4double)
G4VITReactionProcess defines the reaction between two G4IT.
Tag the G4IT Should be automatically setup by G4IT using : ITDef(MyIT) and ITImp(MyIT) ...
G4double CalculateMinTimeStep(G4double currentGlobalTime, G4double definedMinTimeStep)
void FindReaction(G4ITReactionSet *reactionSet, const double currentStepTime, const double previousStepTime, const bool reachedUserStepTimeLimit)
G4ITReactionSet * fReactionSet
G4double fUserMinTimeStep
G4UserTimeStepAction is used by G4Scheduler.
const std::vector< std::vector< G4VITStepModel * > > * GetCurrentModel()
virtual ~G4ITModelProcessor()
const G4Track * GetTrack() const
std::vector< G4ITReactionChange * > * GetReactionInfo()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4ITModelProcessor & operator=(const G4ITModelProcessor &other)
Assignment operator.
void RegisterModel(double time, G4VITStepModel *)
G4ITModelManager * fpModelManager
void ComputeTrackReaction(G4ITStepStatus fITStepStatus, G4double fGlobalTime, G4double currentTimeStep, G4double previousTimeStep, G4bool reachedUserTimeLimit, G4double fTimeTolerance, G4UserTimeStepAction *fpUserTimeStepAction, G4int fVerbose)
void InitializeStepper(G4double currentGlobalTime, G4double userMinTime)
void SetModelHandler(G4ITModelHandler *)
Before stepping all tracks G4Scheduler calls all the G4VITModel which may contain a G4VITTimeStepper ...
G4ITModelHandler * fpModelHandler
bool GetComputeTimeStep()
void ExtractTimeStepperData()
G4ITTrackHolder * fpTrackContainer
G4ITModelManager chooses which model to use according to the global simulation time.
void CleanProcessor()
Restore original state of the modelProcessor.