53#ifndef G4EmCorrections_h
54#define G4EmCorrections_h 1
125 const G4bool isInitialized =
false);
130 const G4bool isInitialized =
false);
135 const G4bool isInitialized =
false);
174 void BuildCorrectionVector();
203 const G4double* atomDensity =
nullptr;
226 std::size_t ncouples = 0;
227 std::size_t idxBarkas = 0;
233 G4int numberOfElements = 0;
241 G4bool isInitializer =
false;
243 std::vector<G4int> Zion;
244 std::vector<G4int> Aion;
245 std::vector<G4String> materialName;
246 std::vector<const G4ParticleDefinition*> ionList;
248 std::map< G4int, std::vector<G4double> > thcorr;
250 std::vector<const G4Material*> currmat;
251 std::vector<const G4Material*> materialList;
252 std::vector<G4PhysicsVector*> stopData;
277 do {--iddd;}
while (iddd>0 && x<y[iddd]);
285 return y1 + (y2 - y1)*(xv - x1)/(x2 - x1);
294 return ( z11*(x2-xv)*(y2-yv) + z22*(xv-x1)*(yv-y1) +
295 z12*(x2-xv)*(yv-y1) + z21*(xv-x1)*(y2-yv) )
302 if(
nullptr != mod1) { ionLEModel = mod1; }
303 if(
nullptr != mod2) { ionHEModel = mod2; }
std::vector< const G4Element * > G4ElementVector
G4double HighOrderCorrections(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy, const G4double cutEnergy)
void SetIonisationModels(G4VEmModel *mod1=nullptr, G4VEmModel *mod2=nullptr)
G4double ShellCorrectionSTD(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double SpinCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double EffectiveChargeSquareRatio(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
void AddStoppingData(const G4int Z, const G4int A, const G4String &materialName, G4PhysicsVector *dVector)
G4double IonHighOrderCorrections(const G4ParticleDefinition *, const G4MaterialCutsCouple *, const G4double kineticEnergy)
G4double GetParticleCharge(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double MottCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy, const G4bool isInitialized=false)
G4double BlochCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy, const G4bool isInitialized=false)
G4double BarkasCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy, const G4bool isInitialized=false)
G4EmCorrections & operator=(const G4EmCorrections &right)=delete
void SetVerbose(G4int verb)
void InitialiseForNewRun()
G4int GetNumberOfStoppingVectors() const
G4double DensityCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double ComputeIonCorrections(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double Bethe(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double KShellCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double EffectiveChargeCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double LShellCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4EmCorrections(const G4EmCorrections &)=delete
G4double ShellCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4double IonBarkasCorrection(const G4ParticleDefinition *, const G4Material *, const G4double kineticEnergy)
G4EmCorrections(G4int verb)
G4double EffectiveCharge(const G4ParticleDefinition *p, const G4Material *material, G4double kineticEnergy)
G4double EffectiveChargeSquareRatio(const G4ParticleDefinition *p, const G4Material *material, G4double kineticEnergy)