48 fModelManager.assign(IT_size, std::vector<G4ITModelManager*>());
49 for (
G4int i = 0; i < (int) IT_size; i++)
60 for (
G4int i = 0; i < size; i++)
62 for (
G4int j = 0; j <= i; j++)
80 fModelManager.assign(IT_size, std::vector<G4ITModelManager*>());
81 for (
int i = 0; i < (int) IT_size; i++)
84 for (
int j = 0; j < (int) IT_size; j++)
101 if (
this == &rhs)
return *
this;
112 for (
G4int j = 0; j <= i; j++)
133 fModelManager.assign(IT_size, std::vector<G4ITModelManager*>());
135 for (
int i = 0; i < (int) IT_size; i++)
214 std::vector<G4ITModelManager*>* v = &(
fModelManager.at(type1));
216 if ((
int) v->size() < type2)
return 0;
220 return v->at(type2)->GetModel(globalTime);
G4ITModelHandler holds for two IT types the corresponding model manager.
void RegisterModel(G4VITStepModel *aModel, const G4double globalTime)
void SetModel(G4ITType, G4ITType, G4VITStepModel *aModel, G4double startingTime)
void IsApplicable(G4ITType &type1, G4ITType &type2)
G4bool fTimeStepComputerFlag
Define what to do before stepping and after stepping.
Tag the G4IT Should be automatically setup by G4IT using : ITDef(MyIT) and ITImp(MyIT) ...
std::vector< std::vector< G4ITModelManager * > > fModelManager
G4ITModelHandler & operator=(const G4ITModelHandler &rhs)
G4VITReactionProcess * GetReactionProcess()
G4VITStepModel * GetModel(G4ITType, G4ITType, const G4double globalTime)
~G4ITModelHandler()
Default destructor.
G4bool fReactionProcessFlag
G4VITTimeStepComputer * GetTimeStepper()
G4ITModelManager chooses which model to use according to the global simulation time.