G4FTFBinaryPionBuilder Class Reference

#include <G4FTFBinaryPionBuilder.hh>

Inheritance diagram for G4FTFBinaryPionBuilder:

G4VPionBuilder

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)

Detailed Description

Definition at line 59 of file G4FTFBinaryPionBuilder.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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]

Implements G4VPionBuilder.

Definition at line 88 of file G4FTFBinaryPionBuilder.cc.

00088 {}

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

Definition at line 70 of file G4FTFBinaryPionBuilder.hh.

00070 {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