86G4bool G4ParticleHPInelastic::fLock[] = {
true,
true,
true,
true,
true,
true};
87std::vector<G4ParticleHPChannelList*>*
104 G4cout <<
"@@@ G4ParticleHPInelastic instantiated for "
118void G4ParticleHPInelastic::ClearData()
136 std::size_t index = elm->
GetIndex();
151 for (i = 0; i < n; ++i) {
158 rWeight = NumAtomsPerVolume[i];
171 G4cout <<
" G4ParticleHPInelastic XSEC ELEM " << i <<
" = " << xSec[i] <<
G4endl;
175 for (it = 0; it < n; ++it) {
178 if (sum <= xSec[it])
break;
185 G4cout <<
" G4ParticleHPInelastic: Elem it=" << it <<
" "
186 << elm->GetName() <<
" index=" << index
187 <<
" from material " << theMaterial->
GetName()
198 const G4Isotope* target_isotope =
nullptr;
200 for (
G4int j = 0; j != iele; ++j) {
201 target_isotope = target_element->
GetIsotope(j);
215 return std::pair<G4double, G4double>(10.0 * perCent, 350.0 * CLHEP::GeV);
232 if (!isFirst || nelm == n0) {
return; }
243 G4cout <<
"@@@ G4ParticleHPInelastic instantiated for particle "
249 for (
G4int i = n0; i < nelm; ++i) {
252 clist->Init((*table)[i],
dirName, theProjectile);
291 G4cout <<
"ParticleHP::Inelastic for "
293 << (*table)[i]->GetName() <<
G4endl;
302 outFile <<
"High Precision (HP) model for inelastic reaction of "
#define G4MUTEX_INITIALIZER
G4GLOB_DLL std::ostream G4cout
static G4ElementTable * GetElementTable()
static size_t GetNumberOfElements()
const G4Isotope * GetIsotope(G4int iso) const
size_t GetNumberOfIsotopes() const
const G4Material * GetMaterial() const
const G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetTemperature() const
const G4Element * GetElement(G4int iel) const
const G4double * GetVecNbOfAtomsPerVolume() const
std::size_t GetNumberOfElements() const
const G4String & GetName() const
static G4Neutron * Neutron()
void SetParameters(const G4double A, const G4double Z, const G4int numberOfLambdas=0)
void SetIsotope(const G4Isotope *iso)
const G4String & GetParticleName() const
G4ParticleHPManager * fManager
~G4ParticleHPInelastic() override
void ModelDescription(std::ostream &outFile) const override
static std::vector< G4ParticleHPChannelList * > * theInelastic[6]
void BuildPhysicsTable(const G4ParticleDefinition &) override
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus) override
const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const override
G4ParticleHPInelastic(G4ParticleDefinition *p=G4Neutron::Neutron(), const char *name="NeutronHPInelastic")
const G4String & GetParticleHPPath(const G4ParticleDefinition *) const
G4int GetVerboseLevel() const
G4int GetPHPIndex(const G4ParticleDefinition *) const
static G4ParticleHPManager * GetInstance()
void CloseReactionWhiteBoard()
void OpenReactionWhiteBoard()
G4ParticleHPReactionWhiteBoard * GetReactionWhiteBoard()
G4double GetThermalEnergy(const G4HadProjectile &aP, const G4Element *anE, G4double aT)