Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4QGSBinaryPiKBuilder Class Reference

#include <G4QGSBinaryPiKBuilder.hh>

+ Inheritance diagram for G4QGSBinaryPiKBuilder:

Public Member Functions

 G4QGSBinaryPiKBuilder (G4bool quasiElastic=false)
 
virtual ~G4QGSBinaryPiKBuilder ()
 
virtual void Build (G4HadronElasticProcess *aP)
 
virtual void Build (G4PionPlusInelasticProcess *aP)
 
virtual void Build (G4PionMinusInelasticProcess *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)
 
- Public Member Functions inherited from G4VPiKBuilder
 G4VPiKBuilder ()
 
virtual ~G4VPiKBuilder ()
 
virtual void Build (G4HadronElasticProcess *aP)=0
 
virtual void Build (G4PionPlusInelasticProcess *aP)=0
 
virtual void Build (G4PionMinusInelasticProcess *aP)=0
 
virtual void Build (G4KaonPlusInelasticProcess *aP)=0
 
virtual void Build (G4KaonMinusInelasticProcess *aP)=0
 
virtual void Build (G4KaonZeroLInelasticProcess *aP)=0
 
virtual void Build (G4KaonZeroSInelasticProcess *aP)=0
 

Detailed Description

Definition at line 62 of file G4QGSBinaryPiKBuilder.hh.

Constructor & Destructor Documentation

◆ G4QGSBinaryPiKBuilder()

G4QGSBinaryPiKBuilder::G4QGSBinaryPiKBuilder ( G4bool  quasiElastic = false)

Definition at line 51 of file G4QGSBinaryPiKBuilder.cc.

53{
54 thePiData = new G4CrossSectionPairGG(new G4PiNuclearCrossSection(), 91*GeV);
55
56 theMin = 12*GeV;
57 theModel = new G4TheoFSGenerator("QGSB");
58
59 theStringModel = new G4QGSModel< G4QGSParticipants >;
60 theStringDecay = new G4ExcitedStringDecay(new G4QGSMFragmentation);
61 theStringModel->SetFragmentationModel(theStringDecay);
62
63
64 theCascade = new G4BinaryCascade;
65 thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
66 theCascade->SetDeExcitation(thePreEquilib);
67
68 theModel->SetHighEnergyGenerator(theStringModel);
69 if (quasiElastic)
70 {
71 theQuasiElastic=new G4QuasiElasticChannel;
72 theModel->SetQuasiElasticChannel(theQuasiElastic);
73 } else
74 { theQuasiElastic=0;}
75 theModel->SetTransport(theCascade);
76}
void SetTransport(G4VIntraNuclearTransportModel *const value)
void SetQuasiElasticChannel(G4QuasiElasticChannel *const value)
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void SetDeExcitation(G4VPreCompoundModel *ptr)
void SetFragmentationModel(G4VStringFragmentation *aModel)

◆ ~G4QGSBinaryPiKBuilder()

G4QGSBinaryPiKBuilder::~G4QGSBinaryPiKBuilder ( )
virtual

Definition at line 78 of file G4QGSBinaryPiKBuilder.cc.

80{
81 delete theCascade;
82 delete thePreEquilib;
83 if ( theQuasiElastic ) delete theQuasiElastic;
84 delete theStringDecay;
85 delete theStringModel;
86 delete theModel;
87}

Member Function Documentation

◆ Build() [1/7]

void G4QGSBinaryPiKBuilder::Build ( G4HadronElasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 89 of file G4QGSBinaryPiKBuilder.cc.

90{}

◆ Build() [2/7]

void G4QGSBinaryPiKBuilder::Build ( G4KaonMinusInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 119 of file G4QGSBinaryPiKBuilder.cc.

121{
122 theModel->SetMinEnergy(theMin);
123 theModel->SetMaxEnergy(100*TeV);
124 aP->RegisterMe(theModel);
126}
static G4CrossSectionDataSetRegistry * Instance()
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
void RegisterMe(G4HadronicInteraction *a)

◆ Build() [3/7]

void G4QGSBinaryPiKBuilder::Build ( G4KaonPlusInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 110 of file G4QGSBinaryPiKBuilder.cc.

112{
113 theModel->SetMinEnergy(theMin);
114 theModel->SetMaxEnergy(100*TeV);
115 aP->RegisterMe(theModel);
117}

◆ Build() [4/7]

void G4QGSBinaryPiKBuilder::Build ( G4KaonZeroLInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 128 of file G4QGSBinaryPiKBuilder.cc.

130{
131 theModel->SetMinEnergy(theMin);
132 theModel->SetMaxEnergy(100*TeV);
133 aP->RegisterMe(theModel);
135}

◆ Build() [5/7]

void G4QGSBinaryPiKBuilder::Build ( G4KaonZeroSInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 137 of file G4QGSBinaryPiKBuilder.cc.

139{
140 theModel->SetMinEnergy(theMin);
141 theModel->SetMaxEnergy(100*TeV);
142 aP->RegisterMe(theModel);
143}

◆ Build() [6/7]

void G4QGSBinaryPiKBuilder::Build ( G4PionMinusInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 101 of file G4QGSBinaryPiKBuilder.cc.

103{
104 theModel->SetMinEnergy(theMin);
105 theModel->SetMaxEnergy(100*TeV);
106 aP->AddDataSet(thePiData);
107 aP->RegisterMe(theModel);
108}

◆ Build() [7/7]

void G4QGSBinaryPiKBuilder::Build ( G4PionPlusInelasticProcess aP)
virtual

Implements G4VPiKBuilder.

Definition at line 92 of file G4QGSBinaryPiKBuilder.cc.

94{
95 theModel->SetMinEnergy(theMin);
96 theModel->SetMaxEnergy(100*TeV);
97 aP->AddDataSet(thePiData);
98 aP->RegisterMe(theModel);
99}

◆ SetMinEnergy()

void G4QGSBinaryPiKBuilder::SetMinEnergy ( G4double  aM)
inline

Definition at line 77 of file G4QGSBinaryPiKBuilder.hh.

77{theMin = aM;}

The documentation for this class was generated from the following files: