Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
G4FTFBuilder Class Reference

#include <G4FTFBuilder.hh>

Inheritance diagram for G4FTFBuilder:
G4VHadronModelBuilder

Public Member Functions

 G4FTFBuilder (const G4String &name="FTF", G4PreCompoundModel *p=0)
 
virtual ~G4FTFBuilder ()
 
- Public Member Functions inherited from G4VHadronModelBuilder
 G4VHadronModelBuilder (const G4String &name="")
 
virtual ~G4VHadronModelBuilder ()
 
G4HadronicInteractionGetModel ()
 
const G4StringGetName () const
 

Protected Member Functions

virtual G4HadronicInteractionBuildModel ()
 

Detailed Description

Definition at line 50 of file G4FTFBuilder.hh.

Constructor & Destructor Documentation

G4FTFBuilder::G4FTFBuilder ( const G4String name = "FTF",
G4PreCompoundModel p = 0 
)

Definition at line 49 of file G4FTFBuilder.cc.

50  : G4VHadronModelBuilder(aName),
51  fStringModel(0), fStringDecay(0),
52  fPreCompound(p),fPrecoInterface(0),fLund(0)
53 {}
G4VHadronModelBuilder(const G4String &name="")
G4FTFBuilder::~G4FTFBuilder ( )
virtual

Definition at line 55 of file G4FTFBuilder.cc.

56 {
57  delete fStringDecay;
58  //delete fPrecoInterface;
59  delete fLund;
60 }

Member Function Documentation

G4HadronicInteraction * G4FTFBuilder::BuildModel ( )
protectedvirtual

Implements G4VHadronModelBuilder.

Definition at line 62 of file G4FTFBuilder.cc.

References G4VHadronModelBuilder::GetName(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), and G4TheoFSGenerator::SetTransport().

63 {
64  G4TheoFSGenerator* theFTFModel = new G4TheoFSGenerator(GetName());
65  fStringModel = new G4FTFModel();
66  fLund = new G4LundStringFragmentation();
67  fStringDecay = new G4ExcitedStringDecay(fLund);
68  fStringModel->SetFragmentationModel(fStringDecay);
69  theFTFModel->SetHighEnergyGenerator(fStringModel);
70 
71  if(!fPreCompound) {
72  //G4ExcitationHandler* handler = new G4ExcitationHandler();
73  fPreCompound = new G4PreCompoundModel();
74  }
75 
76  if(GetName() == "FTFB") {
77  G4BinaryCascade* bic = new G4BinaryCascade(fPreCompound);
78  theFTFModel->SetTransport(bic);
79 
80  } else {
81  fPrecoInterface = new G4GeneratorPrecompoundInterface(fPreCompound);
82  theFTFModel->SetTransport(fPrecoInterface);
83  }
84 
85  return theFTFModel;
86 }
const G4String & GetName() const
void SetFragmentationModel(G4VStringFragmentation *aModel)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetTransport(G4VIntraNuclearTransportModel *const value)

The documentation for this class was generated from the following files: