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++)
100 if (
this == &rhs)
return *
this;
111 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++)
215 std::vector<G4ITModelManager*>* v = &(
fModelManager.at(type1));
217 if((
int) v->size() < type2)
return 0;
221 return v->at(type2)->GetModel(globalTime);
G4ITModelHandler holds for two IT types the corresponding model manager.
G4bool fTimeStepComputerFlag
void RegisterModel(G4VITModel *aModel, const G4double globalTime)
G4VITReactionProcess * GetReactionProcess()
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)
Define what to do before stepping and after stepping.
void IsApplicable(G4ITType &type1, G4ITType &type2)
~G4ITModelHandler()
Default destructor.
void SetModel(G4ITType, G4ITType, G4VITModel *aModel, G4double startingTime)
G4bool fReactionProcessFlag
G4VITTimeStepper * GetTimeStepper()
G4VITModel * GetModel(G4ITType, G4ITType, const G4double globalTime)
G4ITModelManager chooses which model to use according to the global simulation time.