G4HadronicAbsorptionFritiof Class Reference

#include <G4HadronicAbsorptionFritiof.hh>

Inheritance diagram for G4HadronicAbsorptionFritiof:

G4HadronStoppingProcess G4HadronicProcess G4VDiscreteProcess G4VProcess G4AntiProtonAbsorptionFritiof G4AntiSigmaPlusAbsorptionFritiof

Public Member Functions

 G4HadronicAbsorptionFritiof (G4ParticleDefinition *pdef=0)
virtual ~G4HadronicAbsorptionFritiof ()
G4bool IsApplicable (const G4ParticleDefinition &)
void ProcessDescription (std::ostream &outFile) const

Detailed Description

Definition at line 56 of file G4HadronicAbsorptionFritiof.hh.


Constructor & Destructor Documentation

G4HadronicAbsorptionFritiof::G4HadronicAbsorptionFritiof ( G4ParticleDefinition pdef = 0  ) 

Definition at line 60 of file G4HadronicAbsorptionFritiof.cc.

References G4HadronicInteractionRegistry::FindModel(), G4HadronicInteractionRegistry::Instance(), G4HadronicProcess::RegisterMe(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), and G4TheoFSGenerator::SetTransport().

00061   : G4HadronStoppingProcess( "hFritiofCaptureAtRest" ), 
00062     pdefApplicable( pdef ) {
00063   
00064   G4TheoFSGenerator * theModel = new G4TheoFSGenerator( "FTFP" );
00065   G4FTFModel * theStringModel = new G4FTFModel;
00066   theLund = new G4LundStringFragmentation;
00067   theStringDecay = new G4ExcitedStringDecay( theLund );
00068   theStringModel->SetFragmentationModel( theStringDecay );
00069 
00070   // Not a cascade - goes straight to Preco
00071   G4HadronicInteraction* p =
00072     G4HadronicInteractionRegistry::Instance()->FindModel("PRECO");
00073   G4VPreCompoundModel * thePreEquilib = static_cast<G4VPreCompoundModel*>(p); 
00074   if(! thePreEquilib) { thePreEquilib = new G4PreCompoundModel; }
00075 
00076   G4GeneratorPrecompoundInterface * theCascade = 
00077     new G4GeneratorPrecompoundInterface( thePreEquilib ); 
00078 
00079   theModel->SetHighEnergyGenerator( theStringModel );
00080   theModel->SetTransport( theCascade );
00081 
00082   G4double theMin = 0.0*GeV;
00083   G4double theMax = 100.0*TeV;
00084   theModel->SetMinEnergy( theMin );
00085   theModel->SetMaxEnergy( theMax );
00086 
00087   RegisterMe( theModel );
00088 }

G4HadronicAbsorptionFritiof::~G4HadronicAbsorptionFritiof (  )  [virtual]

Definition at line 91 of file G4HadronicAbsorptionFritiof.cc.

00091                                                           {
00092   delete theLund;
00093   delete theStringDecay;
00094 }


Member Function Documentation

G4bool G4HadronicAbsorptionFritiof::IsApplicable ( const G4ParticleDefinition  )  [virtual]

Reimplemented from G4HadronStoppingProcess.

Definition at line 99 of file G4HadronicAbsorptionFritiof.cc.

References G4AntiSigmaPlus::Definition(), G4AntiProton::Definition(), and G4ParticleDefinition::GetBaryonNumber().

Referenced by G4StoppingPhysics::ConstructProcess().

00099                                                      {
00100   return ( ( 0 == pdefApplicable && 
00101              ( &particle == G4AntiProton::Definition() ||
00102                &particle == G4AntiSigmaPlus::Definition() ||
00103                particle.GetBaryonNumber() < -1 ) )     // Anti-nuclei
00104            || ( &particle == pdefApplicable ) );
00105 }

void G4HadronicAbsorptionFritiof::ProcessDescription ( std::ostream &  outFile  )  const [virtual]

Reimplemented from G4HadronStoppingProcess.

Definition at line 110 of file G4HadronicAbsorptionFritiof.cc.

00110                                            {
00111   os << "Stopping and absorption of anti_protons, anti_sigma+, and \n"
00112      << "all anti-nuclei using Fritiof (FTF) string model.\n"
00113      << "Geant4 PreCompound model is used for nuclear de-excitation."
00114      << std::endl;
00115 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:08 2013 for Geant4 by  doxygen 1.4.7