Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VIntraNuclearTransportModel Class Referenceabstract

#include <G4VIntraNuclearTransportModel.hh>

+ Inheritance diagram for G4VIntraNuclearTransportModel:

Public Member Functions

 G4VIntraNuclearTransportModel (const G4String &modelName="CascadeModel", G4VPreCompoundModel *ptr=0)
 
virtual ~G4VIntraNuclearTransportModel ()
 
virtual G4ReactionProductVectorPropagate (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)=0
 
void SetDeExcitation (G4VPreCompoundModel *ptr)
 
void Set3DNucleus (G4V3DNucleus *const value)
 
void SetPrimaryProjectile (const G4HadProjectile &aPrimary)
 
const G4StringGetModelName () const
 
virtual void ModelDescription (std::ostream &outFile) const
 
virtual void PropagateModelDescription (std::ostream &outFile) const
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)=0
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
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)
 
const G4HadronicInteractionGetMyPointer () const
 
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
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair< G4double, G4doubleGetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double, G4doubleGetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

Protected Member Functions

G4V3DNucleusGet3DNucleus () const
 
G4VPreCompoundModelGetDeExcitation () const
 
const G4HadProjectileGetPrimaryProjectile () const
 
- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 

Protected Attributes

G4String theTransportModelName
 
G4V3DNucleusthe3DNucleus
 
G4VPreCompoundModeltheDeExcitation
 
const G4HadProjectilethePrimaryProjectile
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 62 of file G4VIntraNuclearTransportModel.hh.

Constructor & Destructor Documentation

◆ G4VIntraNuclearTransportModel()

G4VIntraNuclearTransportModel::G4VIntraNuclearTransportModel ( const G4String modelName = "CascadeModel",
G4VPreCompoundModel ptr = 0 
)

◆ ~G4VIntraNuclearTransportModel()

G4VIntraNuclearTransportModel::~G4VIntraNuclearTransportModel ( )
virtual

Definition at line 47 of file G4VIntraNuclearTransportModel.cc.

48{
49 // if(the3DNucleus!=NULL) delete the3DNucleus;
50 // This is deleted by ~G4HadronicInteractionRegistry
51 // if(theDeExcitation!=NULL) delete theDeExcitation;
52}

Member Function Documentation

◆ Get3DNucleus()

G4V3DNucleus * G4VIntraNuclearTransportModel::Get3DNucleus ( ) const
inlineprotected

Definition at line 115 of file G4VIntraNuclearTransportModel.hh.

116{
117 return the3DNucleus;
118}

◆ GetDeExcitation()

G4VPreCompoundModel * G4VIntraNuclearTransportModel::GetDeExcitation ( ) const
inlineprotected

Definition at line 125 of file G4VIntraNuclearTransportModel.hh.

126{
127 return theDeExcitation;
128}

Referenced by G4BinaryCascade::G4BinaryCascade().

◆ GetModelName()

const G4String & G4VIntraNuclearTransportModel::GetModelName ( ) const
inline

Definition at line 110 of file G4VIntraNuclearTransportModel.hh.

111{
113}

◆ GetPrimaryProjectile()

const G4HadProjectile * G4VIntraNuclearTransportModel::GetPrimaryProjectile ( ) const
inlineprotected

◆ ModelDescription()

void G4VIntraNuclearTransportModel::ModelDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4HadronicInteraction.

Reimplemented in G4BinaryCascade, and G4CascadeInterface.

Definition at line 54 of file G4VIntraNuclearTransportModel.cc.

55{
56 outFile << "G4VIntraNuclearTransportModel is abstract class" << G4endl;
57 G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
58 "G4VIntraNuclearTransportModel is abstract class, no description available");
59}
@ FatalException
#define G4endl
Definition: G4ios.hh:52
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

◆ Propagate()

◆ PropagateModelDescription()

void G4VIntraNuclearTransportModel::PropagateModelDescription ( std::ostream &  outFile) const
virtual

Reimplemented in G4BinaryCascade, and G4GeneratorPrecompoundInterface.

Definition at line 61 of file G4VIntraNuclearTransportModel.cc.

62{
63 outFile << "G4VIntraNuclearTransportModel is abstract class, missing description" << G4endl;
64// G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
65// "G4VIntraNuclearTransportModel is abstract class, no description available");
66}

◆ Set3DNucleus()

void G4VIntraNuclearTransportModel::Set3DNucleus ( G4V3DNucleus *const  value)
inline

Definition at line 120 of file G4VIntraNuclearTransportModel.hh.

121{
122 delete the3DNucleus; the3DNucleus = value;
123}

◆ SetDeExcitation()

◆ SetPrimaryProjectile()

void G4VIntraNuclearTransportModel::SetPrimaryProjectile ( const G4HadProjectile aPrimary)
inline

Definition at line 144 of file G4VIntraNuclearTransportModel.hh.

145{
146 // NOTE: Previous pointer is NOT deleted: passed by reference, no ownership
147 thePrimaryProjectile = &aPrimary;
148}

Referenced by G4TheoFSGenerator::ApplyYourself().

Member Data Documentation

◆ the3DNucleus

G4V3DNucleus* G4VIntraNuclearTransportModel::the3DNucleus
protected

◆ theDeExcitation

G4VPreCompoundModel* G4VIntraNuclearTransportModel::theDeExcitation
protected

◆ thePrimaryProjectile

const G4HadProjectile* G4VIntraNuclearTransportModel::thePrimaryProjectile
protected

Definition at line 107 of file G4VIntraNuclearTransportModel.hh.

Referenced by GetPrimaryProjectile(), and SetPrimaryProjectile().

◆ theTransportModelName

G4String G4VIntraNuclearTransportModel::theTransportModelName
protected

Definition at line 101 of file G4VIntraNuclearTransportModel.hh.

Referenced by GetModelName().


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