#include <G4FTFBinaryPionBuilder.hh>
Inheritance diagram for G4FTFBinaryPionBuilder:
Public Member Functions | |
G4FTFBinaryPionBuilder (G4bool quasiElastic=false) | |
virtual | ~G4FTFBinaryPionBuilder () |
virtual void | Build (G4HadronElasticProcess *aP) |
virtual void | Build (G4PionPlusInelasticProcess *aP) |
virtual void | Build (G4PionMinusInelasticProcess *aP) |
void | SetMinEnergy (G4double aM) |
Definition at line 59 of file G4FTFBinaryPionBuilder.hh.
G4FTFBinaryPionBuilder::G4FTFBinaryPionBuilder | ( | G4bool | quasiElastic = false |
) |
Definition at line 51 of file G4FTFBinaryPionBuilder.cc.
References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().
00052 { 00053 thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV); 00054 theMin = 4*GeV; 00055 theModel = new G4TheoFSGenerator("FTFB"); 00056 00057 theStringModel = new G4FTFModel; 00058 theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); 00059 theStringModel->SetFragmentationModel(theStringDecay); 00060 00061 theCascade = new G4BinaryCascade; 00062 thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); 00063 theCascade->SetDeExcitation(thePreEquilib); 00064 00065 theModel->SetHighEnergyGenerator(theStringModel); 00066 if (quasiElastic) 00067 { 00068 theQuasiElastic=new G4QuasiElasticChannel; 00069 theModel->SetQuasiElasticChannel(theQuasiElastic); 00070 } else 00071 { theQuasiElastic=0;} 00072 00073 theModel->SetTransport(theCascade); 00074 theModel->SetMinEnergy(theMin); 00075 theModel->SetMaxEnergy(100*TeV); 00076 }
G4FTFBinaryPionBuilder::~G4FTFBinaryPionBuilder | ( | ) | [virtual] |
Definition at line 78 of file G4FTFBinaryPionBuilder.cc.
00079 { 00080 delete theCascade; 00081 delete theStringDecay; 00082 delete theStringModel; 00083 delete theModel; 00084 if ( theQuasiElastic ) delete theQuasiElastic; 00085 }
void G4FTFBinaryPionBuilder::Build | ( | G4PionMinusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPionBuilder.
Definition at line 99 of file G4FTFBinaryPionBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().
00100 { 00101 theModel->SetMinEnergy(theMin); 00102 aP->AddDataSet(thePiData); 00103 aP->RegisterMe(theModel); 00104 }
void G4FTFBinaryPionBuilder::Build | ( | G4PionPlusInelasticProcess * | aP | ) | [virtual] |
Implements G4VPionBuilder.
Definition at line 91 of file G4FTFBinaryPionBuilder.cc.
References G4HadronicProcess::AddDataSet(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().
00092 { 00093 theModel->SetMinEnergy(theMin); 00094 aP->AddDataSet(thePiData); 00095 aP->RegisterMe(theModel); 00096 }
void G4FTFBinaryPionBuilder::Build | ( | G4HadronElasticProcess * | aP | ) | [virtual] |
void G4FTFBinaryPionBuilder::SetMinEnergy | ( | G4double | aM | ) | [inline] |