38#ifndef G4LivermorePhotoElectricModel_h
39#define G4LivermorePhotoElectricModel_h 1
110#ifdef G4MULTITHREADED
111 static G4Mutex livPhotoeffMutex;
static const G4double emax
G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double energy, G4double Z, G4double A=0, G4double cut=0, G4double emax=DBL_MAX) override
static G4PhysicsFreeVector * fCrossSectionLE[101]
static G4int fNShells[101]
static G4String fDataDirectory
static G4Material * fWater
static G4double fWaterEnergyLimit
G4VAtomDeexcitation * fAtomDeexcitation
G4ParticleChangeForGamma * fParticleChange
G4LivermorePhotoElectricModel(const G4LivermorePhotoElectricModel &)=delete
std::vector< G4double > fSandiaCof
static G4int fNShellsUsed[101]
void SetLimitNumberOfShells(G4int)
G4double GetBindingEnergy(G4int Z, G4int shell)
void InitialiseForElement(const G4ParticleDefinition *, G4int Z) override
void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy) override
void Initialise(const G4ParticleDefinition *, const G4DataVector &) override
static G4PhysicsFreeVector * fCrossSection[101]
const G4String & FindDirectoryPath()
const G4ParticleDefinition * theElectron
G4bool fDeexcitationActive
virtual ~G4LivermorePhotoElectricModel()
static std::vector< G4double > * fParamHigh[101]
static std::vector< G4double > * fParamLow[101]
static G4ElementData * fShellCrossSection
G4LivermorePhotoElectricModel(const G4String &nam="LivermorePhElectric")
G4double CrossSectionPerVolume(const G4Material *, const G4ParticleDefinition *, G4double energy, G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX) override
const G4ParticleDefinition * theGamma
G4double energy(const ThreeVector &p, const G4double m)