Geant4 11.2.2
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()

◆ ~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 G4ElementTable * GetElementTable()
Definition G4Element.cc:389
G4HadFinalState * ApplyYourself(const G4Element *theElement, const G4HadProjectile &aTrack)
G4ParticleHPReactionWhiteBoard * GetReactionWhiteBoard()

◆ 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: