#include <G4FTFBuilder.hh>
Inheritance diagram for G4FTFBuilder:
Public Member Functions | |
G4FTFBuilder (const G4String &name="FTF", G4PreCompoundModel *p=0) | |
virtual | ~G4FTFBuilder () |
Protected Member Functions | |
virtual G4HadronicInteraction * | BuildModel () |
Definition at line 50 of file G4FTFBuilder.hh.
G4FTFBuilder::G4FTFBuilder | ( | const G4String & | name = "FTF" , |
|
G4PreCompoundModel * | p = 0 | |||
) |
Definition at line 50 of file G4FTFBuilder.cc.
00051 : G4VHadronModelBuilder(aName), 00052 fStringModel(0), fStringDecay(0), 00053 fPreCompound(p),fPrecoInterface(0),fLund(0) 00054 {}
G4FTFBuilder::~G4FTFBuilder | ( | ) | [virtual] |
G4HadronicInteraction * G4FTFBuilder::BuildModel | ( | ) | [protected, virtual] |
Implements G4VHadronModelBuilder.
Definition at line 63 of file G4FTFBuilder.cc.
References G4VHadronModelBuilder::GetName(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), and G4TheoFSGenerator::SetTransport().
00064 { 00065 G4TheoFSGenerator* theFTFModel = new G4TheoFSGenerator(GetName()); 00066 fStringModel = new G4FTFModel(); 00067 fLund = new G4LundStringFragmentation(); 00068 fStringDecay = new G4ExcitedStringDecay(fLund); 00069 fStringModel->SetFragmentationModel(fStringDecay); 00070 theFTFModel->SetHighEnergyGenerator(fStringModel); 00071 00072 if(!fPreCompound) { 00073 //G4ExcitationHandler* handler = new G4ExcitationHandler(); 00074 fPreCompound = new G4PreCompoundModel(); 00075 } 00076 00077 if(GetName() == "FTFC") { 00078 theFTFModel->SetTransport(new G4QStringChipsParticleLevelInterface()); 00079 00080 } else if(GetName() == "FTFB") { 00081 G4BinaryCascade* bic = new G4BinaryCascade(fPreCompound); 00082 theFTFModel->SetTransport(bic); 00083 00084 } else { 00085 fPrecoInterface = new G4GeneratorPrecompoundInterface(fPreCompound); 00086 theFTFModel->SetTransport(fPrecoInterface); 00087 } 00088 00089 return theFTFModel; 00090 }