#include <G4HadronicAbsorptionFritiof.hh>
Inheritance diagram for G4HadronicAbsorptionFritiof:
Public Member Functions | |
G4HadronicAbsorptionFritiof (G4ParticleDefinition *pdef=0) | |
virtual | ~G4HadronicAbsorptionFritiof () |
G4bool | IsApplicable (const G4ParticleDefinition &) |
void | ProcessDescription (std::ostream &outFile) const |
Definition at line 56 of file G4HadronicAbsorptionFritiof.hh.
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] |
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 }