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

#include <G4NeutronHPInelasticVI.hh>

Inheritance diagram for G4NeutronHPInelasticVI:

Public Member Functions

 G4NeutronHPInelasticVI ()
 ~G4NeutronHPInelasticVI () override
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus) override
const std::pair< G4double, G4doubleGetFatalEnergyCheckLevels () const override
void BuildPhysicsTable (const G4ParticleDefinition &) override
void ModelDescription (std::ostream &outFile) const override
 G4NeutronHPInelasticVI (G4NeutronHPInelasticVI &)=delete
G4NeutronHPInelasticVIoperator= (const G4NeutronHPInelasticVI &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 48 of file G4NeutronHPInelasticVI.hh.

Constructor & Destructor Documentation

◆ G4NeutronHPInelasticVI() [1/2]

G4NeutronHPInelasticVI::G4NeutronHPInelasticVI ( )

Definition at line 89 of file G4NeutronHPInelasticVI.cc.

90 : G4HadronicInteraction("NeutronHPInelastic")
91{
92 SetMaxEnergy(20*CLHEP::MeV);
94 if ( !fLock ) {
95 fLock = true;
96 fInitializer = true;
97 for ( G4int i=0; i<ZMAXHPI; ++i ) {
98 theChannels[i] = nullptr;
99 }
100 }
101}
int G4int
Definition G4Types.hh:85
G4HadronicInteraction(const G4String &modelName="HadronicModel")
void SetMaxEnergy(const G4double anEnergy)
static G4ParticleHPManager * GetInstance()

Referenced by G4NeutronHPInelasticVI(), and operator=().

◆ ~G4NeutronHPInelasticVI()

G4NeutronHPInelasticVI::~G4NeutronHPInelasticVI ( )
override

Definition at line 103 of file G4NeutronHPInelasticVI.cc.

104{
105 if ( fInitializer ) {
106 for ( G4int i=0; i<ZMAXHPI; ++i ) {
107 delete theChannels[i];
108 }
109 }
110}

◆ G4NeutronHPInelasticVI() [2/2]

G4NeutronHPInelasticVI::G4NeutronHPInelasticVI ( G4NeutronHPInelasticVI & )
delete

Member Function Documentation

◆ ApplyYourself()

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

Reimplemented from G4HadronicInteraction.

Definition at line 112 of file G4NeutronHPInelasticVI.cc.

114{
115 G4HadFinalState* finalState = nullptr;
116 G4int Z = aNucleus.GetZ_asInt();
117 if ( Z >= ZMAXHPI || Z < 1 ) { return finalState; }
118
119 G4int A = aNucleus.GetA_asInt();
120 fManagerHP->OpenReactionWhiteBoard();
121 fManagerHP->GetReactionWhiteBoard()->SetTargZ(Z);
122 fManagerHP->GetReactionWhiteBoard()->SetTargA(A);
123
124 G4ParticleHPChannelList* clist = theChannels[Z];
125 if ( nullptr == clist ) {
126 InitialiseOnFly();
127 if ( nullptr == clist ) { return finalState; }
128 }
129
130 for (auto const & elm : *(G4Element::GetElementTable())) {
131 if ( Z == elm->GetZasInt() ) {
132 finalState = clist->ApplyYourself(elm, aTrack);
133 break;
134 }
135 }
136
138 return finalState;
139}
const G4double A[17]
static const G4ElementTable * GetElementTable()
Definition G4Element.cc:401
G4HadFinalState * ApplyYourself(const G4Element *theElement, const G4HadProjectile &aTrack)

◆ BuildPhysicsTable()

void G4NeutronHPInelasticVI::BuildPhysicsTable ( const G4ParticleDefinition & )
overridevirtual

Reimplemented from G4HadronicInteraction.

Definition at line 147 of file G4NeutronHPInelasticVI.cc.

148{
149 if ( fInitializer ) {
150 Initialise();
151 fManagerHP->DumpSetting();
152 }
153}

◆ GetFatalEnergyCheckLevels()

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

Reimplemented from G4HadronicInteraction.

Definition at line 141 of file G4NeutronHPInelasticVI.cc.

142{
143 // max energy non-conservation is mass of heavy nucleus
144 return std::pair<G4double, G4double>(10.0 * perCent, 350.0 * CLHEP::GeV);
145}

◆ ModelDescription()

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

Reimplemented from G4HadronicInteraction.

Definition at line 224 of file G4NeutronHPInelasticVI.cc.

225{
226 outFile << "High Precision (HP) model for inelastic reaction of "
227 << " neutrons below 20MeV\n";
228}

◆ operator=()

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

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