Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4NeutronHPElasticVI Class Reference

#include <G4NeutronHPElasticVI.hh>

+ Inheritance diagram for G4NeutronHPElasticVI:

Public Member Functions

 G4NeutronHPElasticVI ()
 
 ~G4NeutronHPElasticVI () override
 
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus) override
 
void BuildPhysicsTable (const G4ParticleDefinition &) override
 
const std::pair< G4double, G4doubleGetFatalEnergyCheckLevels () const override
 
void ModelDescription (std::ostream &outFile) const override
 
 G4NeutronHPElasticVI (G4NeutronHPElasticVI &)=delete
 
G4NeutronHPElasticVIoperator= (const G4NeutronHPElasticVI &right)=delete
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
virtual std::pair< G4double, G4doubleGetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void InitialiseModel ()
 
 G4HadronicInteraction (const G4HadronicInteraction &right)=delete
 
const G4HadronicInteractionoperator= (const G4HadronicInteraction &right)=delete
 
G4bool operator== (const G4HadronicInteraction &right) const =delete
 
G4bool operator!= (const G4HadronicInteraction &right) const =delete
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 53 of file G4NeutronHPElasticVI.hh.

Constructor & Destructor Documentation

◆ G4NeutronHPElasticVI() [1/2]

G4NeutronHPElasticVI::G4NeutronHPElasticVI ( )

Definition at line 49 of file G4NeutronHPElasticVI.cc.

50 : G4HadronicInteraction("NeutronHPElastic")
51{
52 SetMaxEnergy(20*CLHEP::MeV);
54 if ( !fLock ) {
55 fLock = true;
56 fInitializer = true;
57 for ( G4int i=0; i<ZMAXHPE; ++i ) {
58 theElastic[i] = nullptr;
59 }
60 }
61}
int G4int
Definition G4Types.hh:85
G4HadronicInteraction(const G4String &modelName="HadronicModel")
void SetMaxEnergy(const G4double anEnergy)
static G4ParticleHPManager * GetInstance()

◆ ~G4NeutronHPElasticVI()

G4NeutronHPElasticVI::~G4NeutronHPElasticVI ( )
override

Definition at line 63 of file G4NeutronHPElasticVI.cc.

64{
65 if ( fInitializer ) {
66 for ( G4int i=0; i<ZMAXHPE; ++i) {
67 delete theElastic[i];
68 }
69 }
70}

◆ G4NeutronHPElasticVI() [2/2]

G4NeutronHPElasticVI::G4NeutronHPElasticVI ( G4NeutronHPElasticVI & )
delete

Member Function Documentation

◆ ApplyYourself()

G4HadFinalState * G4NeutronHPElasticVI::ApplyYourself ( const G4HadProjectile & aTrack,
G4Nucleus & aTargetNucleus )
overridevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 72 of file G4NeutronHPElasticVI.cc.

74{
75 G4HadFinalState* finalState = nullptr;
76 G4int Z = aNucleus.GetZ_asInt();
77 if ( Z >= ZMAXHPE || Z < 1 ) { return finalState; }
78
79 G4int A = aNucleus.GetA_asInt();
80 fManagerHP->OpenReactionWhiteBoard();
81 fManagerHP->GetReactionWhiteBoard()->SetTargZ(Z);
82 fManagerHP->GetReactionWhiteBoard()->SetTargA(A);
83
84 G4ParticleHPChannel* mod = theElastic[Z];
85 if ( nullptr == mod ) {
86 InitialiseOnFly();
87 if ( nullptr == mod ) { return finalState; }
88 }
89
90 // The boolean "true", as last argument, specifies to G4ParticleHPChannel::ApplyYourself
91 // that it is an elastic channel: this is needed for the special DBRC treatment.
92 finalState = mod->ApplyYourself(aTrack, -1, true);
93
94 fManagerHP->CloseReactionWhiteBoard();
95 return finalState;
96}
const G4double A[17]
G4HadFinalState * ApplyYourself(const G4HadProjectile &theTrack, G4int isoNumber=-1, G4bool isElastic=false)
G4ParticleHPReactionWhiteBoard * GetReactionWhiteBoard()

◆ BuildPhysicsTable()

void G4NeutronHPElasticVI::BuildPhysicsTable ( const G4ParticleDefinition & )
overridevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 104 of file G4NeutronHPElasticVI.cc.

105{
106 if ( fInitializer ) { Initialise(); }
107}

◆ GetFatalEnergyCheckLevels()

const std::pair< G4double, G4double > G4NeutronHPElasticVI::GetFatalEnergyCheckLevels ( ) const
overridevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 98 of file G4NeutronHPElasticVI.cc.

99{
100 // max energy non-conservation is mass of heavy nucleus
101 return std::pair<G4double, G4double>(10.0 * perCent, 350.0 * CLHEP::GeV);
102}

◆ ModelDescription()

void G4NeutronHPElasticVI::ModelDescription ( std::ostream & outFile) const
overridevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 135 of file G4NeutronHPElasticVI.cc.

136{
137 outFile << "High Precision model based on Evaluated Nuclear Data Files"
138 << " (ENDF) for elastic scattering of neutrons below 20MeV\n";
139}

◆ operator=()

G4NeutronHPElasticVI & G4NeutronHPElasticVI::operator= ( const G4NeutronHPElasticVI & right)
delete

The documentation for this class was generated from the following files: