G4FTFPProtonBuilder Class Reference

#include <G4FTFPProtonBuilder.hh>

Inheritance diagram for G4FTFPProtonBuilder:

G4VProtonBuilder

Public Member Functions

 G4FTFPProtonBuilder (G4bool quasiElastic=false)
virtual ~G4FTFPProtonBuilder ()
virtual void Build (G4HadronElasticProcess *aP)
virtual void Build (G4ProtonInelasticProcess *aP)
void SetMinEnergy (G4double aM)
void SetMaxEnergy (G4double aM)

Detailed Description

Definition at line 59 of file G4FTFPProtonBuilder.hh.


Constructor & Destructor Documentation

G4FTFPProtonBuilder::G4FTFPProtonBuilder ( G4bool  quasiElastic = false  ) 

Definition at line 49 of file G4FTFPProtonBuilder.cc.

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

00050 {
00051   theMin = 4*GeV;
00052   theMax = 100.*TeV; 
00053   theModel = new G4TheoFSGenerator("FTFP");
00054 
00055   theStringModel = new G4FTFModel;
00056   theStringDecay = new G4ExcitedStringDecay(theLund = new G4LundStringFragmentation);
00057   theStringModel->SetFragmentationModel(theStringDecay);
00058 
00059   thePreEquilib = new G4PreCompoundModel(theHandler = new G4ExcitationHandler);
00060   theCascade = new G4GeneratorPrecompoundInterface(thePreEquilib);
00061 
00062   theModel->SetHighEnergyGenerator(theStringModel);
00063   if (quasiElastic)
00064   {
00065      theQuasiElastic=new G4QuasiElasticChannel;
00066      theModel->SetQuasiElasticChannel(theQuasiElastic);
00067   } else 
00068   {  theQuasiElastic=0;}  
00069 
00070   theModel->SetTransport(theCascade);
00071   theModel->SetMinEnergy(theMin);
00072   theModel->SetMaxEnergy(100*TeV);
00073 }

G4FTFPProtonBuilder::~G4FTFPProtonBuilder (  )  [virtual]

Definition at line 86 of file G4FTFPProtonBuilder.cc.

00087 {
00088   delete theStringDecay;
00089   delete theStringModel;
00090   delete theModel;
00091   delete theCascade;
00092   if ( theQuasiElastic ) delete theQuasiElastic;
00093   //delete theHandler;
00094   delete theLund;
00095 }


Member Function Documentation

void G4FTFPProtonBuilder::Build ( G4ProtonInelasticProcess aP  )  [virtual]

Implements G4VProtonBuilder.

Definition at line 76 of file G4FTFPProtonBuilder.cc.

References G4HadronicProcess::AddDataSet(), G4Proton::Proton(), G4HadronicProcess::RegisterMe(), G4HadronicInteraction::SetMaxEnergy(), and G4HadronicInteraction::SetMinEnergy().

00077 {
00078   theModel->SetMinEnergy(theMin);
00079   theModel->SetMaxEnergy(theMax);
00080   aP->RegisterMe(theModel);
00081     
00082     aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Proton::Proton()));
00083 }

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

Implements G4VProtonBuilder.

Definition at line 98 of file G4FTFPProtonBuilder.cc.

00099 {
00100 }

void G4FTFPProtonBuilder::SetMaxEnergy ( G4double  aM  )  [inline]

Definition at line 70 of file G4FTFPProtonBuilder.hh.

00070 {theMax = aM;}

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

Definition at line 69 of file G4FTFPProtonBuilder.hh.

00069 {theMin = aM;}


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