69#ifndef G4EmModelManager_h
70#define G4EmModelManager_h 1
99 if (nModelsForRegion>1) {
100 idx = nModelsForRegion;
102 do {--idx;}
while (idx > 0 && e <= lowKineticEnergy[idx]);
104 return theListOfModelIndexes[idx];
108 return theListOfModelIndexes[
n];
111 inline G4int NumberOfModels()
const {
112 return nModelsForRegion;
116 return lowKineticEnergy[
n];
119 inline const G4Region* Region()
const {
127 G4int nModelsForRegion;
128 G4int* theListOfModelIndexes;
160 G4bool startFromNull =
true,
209 G4int verboseLevel = 0;
210 G4bool severalModels =
true;
213 std::vector<G4VEmModel*> models;
214 std::vector<G4VEmFluctuationModel*> flucModels;
215 std::vector<const G4Region*> regions;
216 std::vector<G4int> orderOfModels;
217 std::vector<G4int> isUsed;
219 std::vector<G4int> idxOfRegionModels;
220 std::vector<G4RegionModels*> setOfRegionModels;
231 currRegionModel = setOfRegionModels[idxOfRegionModels[index]];
233 currModel = models[currRegionModel->SelectIndex(kinEnergy)];
void AddEmModel(G4int, G4VEmModel *, G4VEmFluctuationModel *fm, const G4Region *r)
const G4DataVector * Initialise(const G4ParticleDefinition *part, const G4ParticleDefinition *secPart, G4int verb)
G4VEmModel * SelectModel(G4double energy, std::size_t index)
G4EmModelManager & operator=(const G4EmModelManager &right)=delete
void DumpModelList(std::ostream &out, G4int verb)
G4int NumberOfModels() const
G4VEmModel * GetModel(G4int idx, G4bool ver=false) const
void SetFluoFlag(G4bool val)
G4VEmModel * GetRegionModel(G4int idx, std::size_t index_couple)
void FillLambdaVector(G4PhysicsVector *, const G4MaterialCutsCouple *, G4bool startFromNull=true, G4EmTableType t=fRestricted)
void FillDEDXVector(G4PhysicsVector *, const G4MaterialCutsCouple *, G4EmTableType t=fRestricted)
const G4DataVector * Cuts() const
G4EmModelManager(G4EmModelManager &)=delete
G4int NumberOfRegionModels(std::size_t index_couple) const