70 #ifdef G4MULTITHREADED
71 G4Mutex G4WentzelVIRelModel::WentzelVIRelModelMutex;
128 G4Exception(
"G4WentzelVIRelModel::ComputeCrossSectionPerAtom",
"em0011",
156 #ifdef G4MULTITHREADED
157 G4MUTEXLOCK(&G4WentzelVIRelModel::WentzelVIRelModelMutex);
162 if(ncouples !=
effMass.size()) {
164 for(
size_t i=0; i<ncouples; ++i) {
171 for(
G4int j=0; j<nelm; ++j) {
172 G4int Z = (*elmVector)[j]->GetZasInt();
181 #ifdef G4MULTITHREADED
G4WentzelOKandVIxSection * GetWVICrossSection()
void ComputeEffectiveMass()
virtual ~G4WentzelVIRelModel()
virtual void DefineMaterial(const G4MaterialCutsCouple *cup)
const G4ElementVector * GetElementVector() const
static std::vector< G4double > effMass
void SetCurrentCouple(const G4MaterialCutsCouple *)
G4double GetAtomicMassAmu(const G4String &symb) const
G4NistManager * fNistManager
void SetWVICrossSection(G4WentzelOKandVIxSection *)
static constexpr double proton_mass_c2
static constexpr double amu_c2
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
void SetTargetMass(G4double value)
G4int currentMaterialIndex
G4WentzelOKandVIxSection * wokvi
const G4MaterialCutsCouple * currentCouple
size_t GetTableSize() const
#define G4MUTEXUNLOCK(mutex)
const G4MaterialCutsCouple * CurrentCouple() const
G4double SetupTarget(G4int Z, G4double cut)
static G4ProductionCutsTable * GetProductionCutsTable()
const G4ParticleDefinition * particle
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::vector< G4Element * > G4ElementVector
#define G4MUTEXLOCK(mutex)
void SetupParticle(const G4ParticleDefinition *)
const G4MaterialCutsCouple * GetMaterialCutsCouple(G4int i) const
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double KineticEnergy, G4double AtomicNumber, G4double AtomicWeight=0., G4double cut=DBL_MAX, G4double emax=DBL_MAX) override
const G4Material * GetMaterial() const
G4double ComputeTransportCrossSectionPerAtom(G4double CosThetaMax)
const G4Material * currentMaterial
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
size_t GetNumberOfElements() const
static G4NistManager * Instance()
G4double SetupKinematic(G4double kinEnergy, const G4Material *mat)