68std::vector<G4double> G4WentzelVIRelModel::effMass;
96 ComputeEffectiveMass();
127 G4Exception(
"G4WentzelVIRelModel::ComputeCrossSectionPerAtom",
"em0011",
133 G4double tmass = (1 == iz) ? CLHEP::proton_mass_c2
153void G4WentzelVIRelModel::ComputeEffectiveMass()
158 if(ncouples == effMass.size()) {
return; }
161 if(ncouples != effMass.size()) {
162 effMass.resize(ncouples, 0.0);
163 for(std::size_t i=0; i<ncouples; ++i) {
170 for(std::size_t j=0; j<nelm; ++j) {
171 G4int Z = (*elmVector)[j]->GetZasInt();
177 effMass[i] = sum/norm;
std::vector< const G4Element * > G4ElementVector
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
#define G4MUTEX_INITIALIZER
const G4Material * GetMaterial() const
const G4ElementVector * GetElementVector() const
size_t GetNumberOfElements() const
static G4NistManager * Instance()
G4double GetAtomicMassAmu(const G4String &symb) const
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
std::size_t GetTableSize() const
static G4ProductionCutsTable * GetProductionCutsTable()
void SetCurrentCouple(const G4MaterialCutsCouple *)
const G4MaterialCutsCouple * CurrentCouple() const
G4double SetupTarget(G4int Z, G4double cut)
void SetTargetMass(G4double value)
G4double ComputeTransportCrossSectionPerAtom(G4double CosThetaMax)
virtual G4double SetupKinematic(G4double kinEnergy, const G4Material *mat)
const G4MaterialCutsCouple * currentCouple
G4int currentMaterialIndex
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SetWVICrossSection(G4WentzelOKandVIxSection *)
G4WentzelOKandVIxSection * GetWVICrossSection()
const G4ParticleDefinition * particle
const G4Material * currentMaterial
void SetupParticle(const G4ParticleDefinition *)
G4WentzelOKandVIxSection * wokvi
~G4WentzelVIRelModel() override
void DefineMaterial(const G4MaterialCutsCouple *cup)
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=DBL_MAX, G4double emax=DBL_MAX) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override