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 G4ReactionProductVector * Propagate (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)=0
void SetDeExcitation (G4VPreCompoundModel *ptr)
void Set3DNucleus (G4V3DNucleus *const value)
void SetPrimaryProjectile (const G4HadProjectile &aPrimary)
const G4String & GetModelName () const
virtual void ModelDescription (std::ostream &outFile) const
virtual void PropagateModelDescription (std::ostream &outFile) const

Protected Member Functions

G4V3DNucleus * Get3DNucleus () const
G4VPreCompoundModel * GetDeExcitation () const
const G4HadProjectile * GetPrimaryProjectile () const

Protected Attributes

G4String theTransportModelName
G4V3DNucleus * the3DNucleus
G4VPreCompoundModel * theDeExcitation
const G4HadProjectile * thePrimaryProjectile

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