G4VIntraNuclearTransportModel Class Reference

#include <G4VIntraNuclearTransportModel.hh>

Inheritance diagram for G4VIntraNuclearTransportModel:

G4HadronicInteraction G4BinaryCascade G4CascadeInterface G4GeneratorPrecompoundInterface G4INCLXXInterface G4QStringChipsParticleLevelInterface G4StringChipsInterface G4StringChipsParticleLevelInterface

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

Protected Member Functions

G4V3DNucleusGet3DNucleus () const
G4VPreCompoundModelGetDeExcitation () const
const G4HadProjectileGetPrimaryProjectile () const

Protected Attributes

G4String theTransportModelName
G4V3DNucleusthe3DNucleus
G4VPreCompoundModeltheDeExcitation
const G4HadProjectilethePrimaryProjectile

Detailed Description

Definition at line 62 of file G4VIntraNuclearTransportModel.hh.


Constructor & Destructor Documentation

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

Definition at line 41 of file G4VIntraNuclearTransportModel.cc.

G4VIntraNuclearTransportModel::~G4VIntraNuclearTransportModel (  )  [virtual]

Definition at line 47 of file G4VIntraNuclearTransportModel.cc.

00048 {
00049   //  if(the3DNucleus!=NULL) delete the3DNucleus;
00050   // This is deleted by ~G4HadronicInteractionRegistry
00051   // if(theDeExcitation!=NULL) delete theDeExcitation;
00052 }


Member Function Documentation

G4V3DNucleus * G4VIntraNuclearTransportModel::Get3DNucleus (  )  const [inline, protected]

Definition at line 115 of file G4VIntraNuclearTransportModel.hh.

References the3DNucleus.

00116 {
00117   return the3DNucleus;
00118 }

G4VPreCompoundModel * G4VIntraNuclearTransportModel::GetDeExcitation (  )  const [inline, protected]

Definition at line 125 of file G4VIntraNuclearTransportModel.hh.

References theDeExcitation.

Referenced by G4BinaryCascade::G4BinaryCascade().

00126 {
00127   return theDeExcitation;
00128 }

const G4String & G4VIntraNuclearTransportModel::GetModelName (  )  const [inline]

Reimplemented from G4HadronicInteraction.

Definition at line 110 of file G4VIntraNuclearTransportModel.hh.

References theTransportModelName.

00111 {
00112   return theTransportModelName;
00113 }

const G4HadProjectile * G4VIntraNuclearTransportModel::GetPrimaryProjectile (  )  const [inline, protected]

Definition at line 138 of file G4VIntraNuclearTransportModel.hh.

References thePrimaryProjectile.

Referenced by G4GeneratorPrecompoundInterface::Propagate(), and G4CascadeInterface::Propagate().

00139 {
00140   return thePrimaryProjectile;
00141 }

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

Reimplemented from G4HadronicInteraction.

Reimplemented in G4BinaryCascade, and G4CascadeInterface.

Definition at line 54 of file G4VIntraNuclearTransportModel.cc.

References FatalException, G4endl, and G4Exception().

00055 {
00056         outFile << "G4VIntraNuclearTransportModel is abstract class" << G4endl;
00057         G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
00058                         "G4VIntraNuclearTransportModel is abstract class, no description available");
00059 }

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

Implemented in G4BinaryCascade, G4GeneratorPrecompoundInterface, G4CascadeInterface, G4QStringChipsParticleLevelInterface, G4StringChipsInterface, G4StringChipsParticleLevelInterface, and G4INCLXXInterface.

Referenced by G4TheoFSGenerator::ApplyYourself().

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

Reimplemented in G4BinaryCascade, and G4GeneratorPrecompoundInterface.

Definition at line 61 of file G4VIntraNuclearTransportModel.cc.

References G4endl.

00062 {
00063         outFile << "G4VIntraNuclearTransportModel is abstract class, missing description" << G4endl;
00064 //      G4Exception("G4VIntraNuclearTransportModel::ModelDescription()","G4VINT01",FatalException,
00065 //                      "G4VIntraNuclearTransportModel is abstract class, no description available");
00066 }

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

Definition at line 120 of file G4VIntraNuclearTransportModel.hh.

References the3DNucleus.

00121 {
00122   delete the3DNucleus;  the3DNucleus = value;
00123 }

void G4VIntraNuclearTransportModel::SetDeExcitation ( G4VPreCompoundModel ptr  )  [inline]

Definition at line 131 of file G4VIntraNuclearTransportModel.hh.

References theDeExcitation.

Referenced by G4QGSBuilder::BuildModel(), G4BinaryCascade::G4BinaryCascade(), G4ElectroVDNuclearModel::G4ElectroVDNuclearModel(), G4FTFBinaryKaonBuilder::G4FTFBinaryKaonBuilder(), G4FTFBinaryPiKBuilder::G4FTFBinaryPiKBuilder(), G4FTFBinaryPionBuilder::G4FTFBinaryPionBuilder(), G4FTFBinaryProtonBuilder::G4FTFBinaryProtonBuilder(), G4GeneratorPrecompoundInterface::G4GeneratorPrecompoundInterface(), G4HyperonFTFPBuilder::G4HyperonFTFPBuilder(), G4MuonVDNuclearModel::G4MuonVDNuclearModel(), G4QGSBinaryNeutronBuilder::G4QGSBinaryNeutronBuilder(), G4QGSBinaryPiKBuilder::G4QGSBinaryPiKBuilder(), G4QGSBinaryProtonBuilder::G4QGSBinaryProtonBuilder(), G4QGSPNeutronBuilder::G4QGSPNeutronBuilder(), G4QGSPPiKBuilder::G4QGSPPiKBuilder(), G4QGSPPionBuilder::G4QGSPPionBuilder(), and G4QGSPProtonBuilder::G4QGSPProtonBuilder().

00132 {
00133   // previous pre-compound model will be deleted at the end of job 
00134   theDeExcitation = value;
00135 }

void G4VIntraNuclearTransportModel::SetPrimaryProjectile ( const G4HadProjectile aPrimary  )  [inline]

Definition at line 144 of file G4VIntraNuclearTransportModel.hh.

References thePrimaryProjectile.

Referenced by G4TheoFSGenerator::ApplyYourself().

00145 {
00146   // NOTE:  Previous pointer is NOT deleted: passed by reference, no ownership
00147   thePrimaryProjectile = &aPrimary;
00148 }


Field Documentation

G4V3DNucleus* G4VIntraNuclearTransportModel::the3DNucleus [protected]

Definition at line 103 of file G4VIntraNuclearTransportModel.hh.

Referenced by G4BinaryCascade::ApplyYourself(), Get3DNucleus(), G4BinaryCascade::Propagate(), and Set3DNucleus().

G4VPreCompoundModel* G4VIntraNuclearTransportModel::theDeExcitation [protected]

Definition at line 105 of file G4VIntraNuclearTransportModel.hh.

Referenced by G4BinaryCascade::ApplyYourself(), GetDeExcitation(), G4GeneratorPrecompoundInterface::Propagate(), and SetDeExcitation().

const G4HadProjectile* G4VIntraNuclearTransportModel::thePrimaryProjectile [protected]

Definition at line 107 of file G4VIntraNuclearTransportModel.hh.

Referenced by GetPrimaryProjectile(), and SetPrimaryProjectile().

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:
Generated on Mon May 27 17:53:44 2013 for Geant4 by  doxygen 1.4.7