G4FTFBinaryKaonBuilder Class Reference

#include <G4FTFBinaryKaonBuilder.hh>

Inheritance diagram for G4FTFBinaryKaonBuilder:

G4VKaonBuilder

Public Member Functions

 G4FTFBinaryKaonBuilder (G4bool quasiElastic=false)
virtual ~G4FTFBinaryKaonBuilder ()
virtual void Build (G4HadronElasticProcess *aP)
virtual void Build (G4KaonPlusInelasticProcess *aP)
virtual void Build (G4KaonMinusInelasticProcess *aP)
virtual void Build (G4KaonZeroLInelasticProcess *aP)
virtual void Build (G4KaonZeroSInelasticProcess *aP)
void SetMinEnergy (G4double aM)

Detailed Description

Definition at line 59 of file G4FTFBinaryKaonBuilder.hh.


Constructor & Destructor Documentation

G4FTFBinaryKaonBuilder::G4FTFBinaryKaonBuilder ( G4bool  quasiElastic = false  ) 

Definition at line 54 of file G4FTFBinaryKaonBuilder.cc.

References G4VIntraNuclearTransportModel::SetDeExcitation(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4TheoFSGenerator::SetQuasiElasticChannel(), and G4TheoFSGenerator::SetTransport().

00055 {    
00056   theMin = 4*GeV;
00057   theModel = new G4TheoFSGenerator("FTFB");
00058 
00059   theStringModel = new G4FTFModel;
00060   theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
00061   theStringModel->SetFragmentationModel(theStringDecay);
00062 
00063   theCascade = new G4BinaryCascade;
00064   thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
00065   theCascade->SetDeExcitation(thePreEquilib);  
00066 
00067   theModel->SetHighEnergyGenerator(theStringModel);
00068   if (quasiElastic)
00069   {
00070      theQuasiElastic=new G4QuasiElasticChannel;
00071      theModel->SetQuasiElasticChannel(theQuasiElastic);
00072   } else 
00073   {  theQuasiElastic=0;}  
00074 
00075   theModel->SetTransport(theCascade);
00076   theModel->SetMinEnergy(theMin);
00077   theModel->SetMaxEnergy(100*TeV);
00078 }

G4FTFBinaryKaonBuilder::~G4FTFBinaryKaonBuilder (  )  [virtual]

Definition at line 80 of file G4FTFBinaryKaonBuilder.cc.

00081 {
00082   delete theCascade;
00083   delete theStringDecay;
00084   delete theStringModel;
00085   delete theModel;
00086   if ( theQuasiElastic ) delete theQuasiElastic;
00087 }


Member Function Documentation

void G4FTFBinaryKaonBuilder::Build ( G4KaonZeroSInelasticProcess aP  )  [virtual]

Implements G4VKaonBuilder.

Definition at line 117 of file G4FTFBinaryKaonBuilder.cc.

References G4HadronicProcess::AddDataSet(), G4ChipsKaonZeroInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().

00118 {
00119   theModel->SetMinEnergy(theMin);
00120     
00121   aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name()));
00122   aP->RegisterMe(theModel);
00123 }

void G4FTFBinaryKaonBuilder::Build ( G4KaonZeroLInelasticProcess aP  )  [virtual]

Implements G4VKaonBuilder.

Definition at line 109 of file G4FTFBinaryKaonBuilder.cc.

References G4HadronicProcess::AddDataSet(), G4ChipsKaonZeroInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().

00110 {
00111   theModel->SetMinEnergy(theMin);
00112   aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name()));
00113   aP->RegisterMe(theModel);
00114 }

void G4FTFBinaryKaonBuilder::Build ( G4KaonMinusInelasticProcess aP  )  [virtual]

Implements G4VKaonBuilder.

Definition at line 101 of file G4FTFBinaryKaonBuilder.cc.

References G4HadronicProcess::AddDataSet(), G4ChipsKaonMinusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().

00102 {
00103   theModel->SetMinEnergy(theMin);
00104   aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusInelasticXS::Default_Name()));
00105   aP->RegisterMe(theModel);
00106 }

void G4FTFBinaryKaonBuilder::Build ( G4KaonPlusInelasticProcess aP  )  [virtual]

Implements G4VKaonBuilder.

Definition at line 93 of file G4FTFBinaryKaonBuilder.cc.

References G4HadronicProcess::AddDataSet(), G4ChipsKaonPlusInelasticXS::Default_Name(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicProcess::RegisterMe(), and G4HadronicInteraction::SetMinEnergy().

00094 {
00095   theModel->SetMinEnergy(theMin);
00096   aP->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusInelasticXS::Default_Name()));
00097   aP->RegisterMe(theModel);
00098 }

void G4FTFBinaryKaonBuilder::Build ( G4HadronElasticProcess aP  )  [virtual]

Implements G4VKaonBuilder.

Definition at line 90 of file G4FTFBinaryKaonBuilder.cc.

00090 {}

void G4FTFBinaryKaonBuilder::SetMinEnergy ( G4double  aM  )  [inline]

Definition at line 72 of file G4FTFBinaryKaonBuilder.hh.

00072 {theMin = aM;}


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