G4QGSBinaryProtonBuilder Class Reference

#include <G4QGSBinaryProtonBuilder.hh>

Inheritance diagram for G4QGSBinaryProtonBuilder:

G4VProtonBuilder

Public Member Functions

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

Detailed Description

Definition at line 60 of file G4QGSBinaryProtonBuilder.hh.


Constructor & Destructor Documentation

G4QGSBinaryProtonBuilder::G4QGSBinaryProtonBuilder ( G4bool  quasiElastic = false  ) 

Definition at line 49 of file G4QGSBinaryProtonBuilder.cc.

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

00050  {
00051    theMin = 12*GeV;
00052    theModel = new G4TheoFSGenerator("QGSB");
00053 
00054    theStringModel = new G4QGSModel< G4QGSParticipants >;
00055    theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation);
00056    theStringModel->SetFragmentationModel(theStringDecay);
00057 
00058    theCascade = new G4BinaryCascade;
00059    thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
00060    theCascade->SetDeExcitation(thePreEquilib);  
00061 
00062    theModel->SetTransport(theCascade);
00063    theModel->SetHighEnergyGenerator(theStringModel);
00064    if (quasiElastic)
00065    {
00066       theQuasiElastic=new G4QuasiElasticChannel;
00067       theModel->SetQuasiElasticChannel(theQuasiElastic);
00068    } else 
00069    {  theQuasiElastic=0;}  
00070  }

G4QGSBinaryProtonBuilder::~G4QGSBinaryProtonBuilder (  )  [virtual]

Definition at line 86 of file G4QGSBinaryProtonBuilder.cc.

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


Member Function Documentation

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

Implements G4VProtonBuilder.

Definition at line 73 of file G4QGSBinaryProtonBuilder.cc.

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

00074  {
00075      aP->AddDataSet(new G4BGGNucleonInelasticXS(G4Proton::Proton()));
00076    theModel->SetMinEnergy(theMin);
00077    theModel->SetMaxEnergy(100*TeV);
00078    aP->RegisterMe(theModel);
00079  }

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

Implements G4VProtonBuilder.

Definition at line 82 of file G4QGSBinaryProtonBuilder.cc.

00083  {
00084  }

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

Definition at line 70 of file G4QGSBinaryProtonBuilder.hh.

00070 {theMin = aM;}


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