Geant4  10.02.p03
G4VIntraNuclearTransportModel Class Referenceabstract

#include <G4VIntraNuclearTransportModel.hh>

Inheritance diagram for G4VIntraNuclearTransportModel:
Collaboration diagram for G4VIntraNuclearTransportModel:

Public Member Functions

 G4VIntraNuclearTransportModel (const G4String &modelName="CascadeModel", G4VPreCompoundModel *ptr=0)
 
virtual ~G4VIntraNuclearTransportModel ()
 
virtual G4ReactionProductVectorPropagate (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)=0
 
virtual G4ReactionProductVectorPropagateNuclNucl (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4V3DNucleus *theProjectileNucleus)
 
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
 
virtual G4int GetVerboseLevel () const
 
virtual 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 BuildPhysicsTable (const G4ParticleDefinition &)
 

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
 

Private Member Functions

 G4VIntraNuclearTransportModel (const G4VIntraNuclearTransportModel &right)
 
const G4VIntraNuclearTransportModeloperator= (const G4VIntraNuclearTransportModel &right)
 
int operator== (const G4VIntraNuclearTransportModel &right) const
 
int operator!= (const G4VIntraNuclearTransportModel &right) const
 

Detailed Description

Definition at line 64 of file G4VIntraNuclearTransportModel.hh.

Constructor & Destructor Documentation

◆ G4VIntraNuclearTransportModel() [1/2]

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

◆ ~G4VIntraNuclearTransportModel()

G4VIntraNuclearTransportModel::~G4VIntraNuclearTransportModel ( )
virtual

Definition at line 49 of file G4VIntraNuclearTransportModel.cc.

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

◆ G4VIntraNuclearTransportModel() [2/2]

G4VIntraNuclearTransportModel::G4VIntraNuclearTransportModel ( const G4VIntraNuclearTransportModel right)
private

Member Function Documentation

◆ Get3DNucleus()

G4V3DNucleus * G4VIntraNuclearTransportModel::Get3DNucleus ( ) const
inlineprotected

Definition at line 122 of file G4VIntraNuclearTransportModel.hh.

123 {
124  return the3DNucleus;
125 }

◆ GetDeExcitation()

G4VPreCompoundModel * G4VIntraNuclearTransportModel::GetDeExcitation ( ) const
inlineprotected

Definition at line 132 of file G4VIntraNuclearTransportModel.hh.

133 {
134  return theDeExcitation;
135 }
Here is the caller graph for this function:

◆ GetModelName()

const G4String & G4VIntraNuclearTransportModel::GetModelName ( ) const
inline

Definition at line 117 of file G4VIntraNuclearTransportModel.hh.

◆ GetPrimaryProjectile()

const G4HadProjectile * G4VIntraNuclearTransportModel::GetPrimaryProjectile ( ) const
inlineprotected

Definition at line 145 of file G4VIntraNuclearTransportModel.hh.

146 {
147  return thePrimaryProjectile;
148 }
Here is the caller graph for this function:

◆ ModelDescription()

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

Reimplemented from G4HadronicInteraction.

Reimplemented in G4INCLXXInterface, G4CascadeInterface, and G4BinaryCascade.

Definition at line 56 of file G4VIntraNuclearTransportModel.cc.

57 {
58  outFile << "G4VIntraNuclearTransportModel is abstract class" << G4endl;
59  G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
60  "G4VIntraNuclearTransportModel is abstract class, no description available");
61 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
#define G4endl
Definition: G4ios.hh:61
Here is the call graph for this function:

◆ operator!=()

int G4VIntraNuclearTransportModel::operator!= ( const G4VIntraNuclearTransportModel right) const
private

◆ operator=()

const G4VIntraNuclearTransportModel& G4VIntraNuclearTransportModel::operator= ( const G4VIntraNuclearTransportModel right)
private

◆ operator==()

int G4VIntraNuclearTransportModel::operator== ( const G4VIntraNuclearTransportModel right) const
private

◆ Propagate()

virtual G4ReactionProductVector* G4VIntraNuclearTransportModel::Propagate ( G4KineticTrackVector theSecondaries,
G4V3DNucleus theNucleus 
)
pure virtual

Implemented in G4INCLXXInterface, G4CascadeInterface, G4UrQMD1_3Model, G4BinaryCascade, G4HIJING_Model, and G4GeneratorPrecompoundInterface.

Here is the caller graph for this function:

◆ PropagateModelDescription()

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

Reimplemented in G4BinaryCascade, and G4GeneratorPrecompoundInterface.

Definition at line 63 of file G4VIntraNuclearTransportModel.cc.

64 {
65  outFile << "G4VIntraNuclearTransportModel is abstract class, missing description" << G4endl;
66 // G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
67 // "G4VIntraNuclearTransportModel is abstract class, no description available");
68 }
#define G4endl
Definition: G4ios.hh:61
Here is the caller graph for this function:

◆ PropagateNuclNucl()

G4ReactionProductVector * G4VIntraNuclearTransportModel::PropagateNuclNucl ( G4KineticTrackVector theSecondaries,
G4V3DNucleus theNucleus,
G4V3DNucleus theProjectileNucleus 
)
virtual

Reimplemented in G4GeneratorPrecompoundInterface.

Definition at line 70 of file G4VIntraNuclearTransportModel.cc.

72 {
73  G4Exception("G4VIntraNuclearTransportModel::Propagate()","G4VINT02",FatalException,
74  "Propagate method for nucleus-nucleus interactions not implemented");
75  return 0;
76 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Set3DNucleus()

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

Definition at line 127 of file G4VIntraNuclearTransportModel.hh.

128 {
129  delete the3DNucleus; the3DNucleus = value;
130 }

◆ SetDeExcitation()

void G4VIntraNuclearTransportModel::SetDeExcitation ( G4VPreCompoundModel ptr)
inline

Definition at line 138 of file G4VIntraNuclearTransportModel.hh.

139 {
140  // previous pre-compound model will be deleted at the end of job
141  theDeExcitation = value;
142 }
Here is the caller graph for this function:

◆ SetPrimaryProjectile()

void G4VIntraNuclearTransportModel::SetPrimaryProjectile ( const G4HadProjectile aPrimary)
inline

Definition at line 151 of file G4VIntraNuclearTransportModel.hh.

152 {
153  // NOTE: Previous pointer is NOT deleted: passed by reference, no ownership
154  thePrimaryProjectile = &aPrimary;
155 }
Here is the caller graph for this function:

Member Data Documentation

◆ the3DNucleus

G4V3DNucleus* G4VIntraNuclearTransportModel::the3DNucleus
protected

Definition at line 110 of file G4VIntraNuclearTransportModel.hh.

◆ theDeExcitation

G4VPreCompoundModel* G4VIntraNuclearTransportModel::theDeExcitation
protected

Definition at line 112 of file G4VIntraNuclearTransportModel.hh.

◆ thePrimaryProjectile

const G4HadProjectile* G4VIntraNuclearTransportModel::thePrimaryProjectile
protected

Definition at line 114 of file G4VIntraNuclearTransportModel.hh.

◆ theTransportModelName

G4String G4VIntraNuclearTransportModel::theTransportModelName
protected

Definition at line 108 of file G4VIntraNuclearTransportModel.hh.


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