Belle II Software development
KaonPhysics Class Reference

Kaon hadronic physics constructor for Belle II physics list. More...

#include <KaonPhysics.h>

Inheritance diagram for KaonPhysics:

Public Member Functions

virtual void ConstructParticle () override
 Build processes, models, cross sections used in physics list.
 
virtual void ConstructProcess () override
 Build all particle types used in physics list (empty in this class)
 

Private Attributes

G4TheoFSGenerator * m_ftfp
 Final state generator for QCD string models.
 
G4FTFModel * m_stringModel
 Fritiof string model.
 
G4ExcitedStringDecay * m_stringDecay
 Model to decay strings into hadrons.
 
G4LundStringFragmentation * m_fragModel
 Lund string fragmentation model.
 
G4GeneratorPrecompoundInterface * m_preCompoundModel
 Precompound model to deexcite post-collision nucleus.
 

Detailed Description

Kaon hadronic physics constructor for Belle II physics list.

Definition at line 31 of file KaonPhysics.h.

Constructor & Destructor Documentation

◆ KaonPhysics()

Definition at line 33 of file KaonPhysics.cc.

34 : m_ftfp(nullptr), m_stringModel(nullptr), m_stringDecay(nullptr),
35 m_fragModel(nullptr), m_preCompoundModel(nullptr)
36{}
G4GeneratorPrecompoundInterface * m_preCompoundModel
Precompound model to deexcite post-collision nucleus.
Definition: KaonPhysics.h:56
G4TheoFSGenerator * m_ftfp
Final state generator for QCD string models.
Definition: KaonPhysics.h:44
G4FTFModel * m_stringModel
Fritiof string model.
Definition: KaonPhysics.h:47
G4ExcitedStringDecay * m_stringDecay
Model to decay strings into hadrons.
Definition: KaonPhysics.h:50
G4LundStringFragmentation * m_fragModel
Lund string fragmentation model.
Definition: KaonPhysics.h:53

◆ ~KaonPhysics()

Definition at line 39 of file KaonPhysics.cc.

40{
41 delete m_stringDecay;
42 delete m_stringModel;
43 delete m_fragModel;
44 delete m_preCompoundModel;
45}

Member Function Documentation

◆ ConstructParticle()

void ConstructParticle ( )
overridevirtual

Build processes, models, cross sections used in physics list.

Definition at line 48 of file KaonPhysics.cc.

49{}

◆ ConstructProcess()

void ConstructProcess ( )
overridevirtual

Build all particle types used in physics list (empty in this class)

Definition at line 52 of file KaonPhysics.cc.

53{
54 G4ProcessManager* procMan;
55
56 // One elastic model for all kaon energies
57 G4HadronElastic* elModel = new G4HadronElastic();
58
59 // Use Bertini cascade for low energies
60 G4CascadeInterface* loInelModel = new G4CascadeInterface;
61 loInelModel->SetMinEnergy(0.0);
62 loInelModel->SetMaxEnergy(12.0 * GeV);
63
64 // Use FTFP for high energies ==>> eventually replace this with new class FTFPInterface
65 m_ftfp = new G4TheoFSGenerator("FTFP");
66 m_stringModel = new G4FTFModel;
68 new G4ExcitedStringDecay(m_fragModel = new G4LundStringFragmentation);
69 m_stringModel->SetFragmentationModel(m_stringDecay);
70 m_preCompoundModel = new G4GeneratorPrecompoundInterface();
71
72 m_ftfp->SetHighEnergyGenerator(m_stringModel);
73 m_ftfp->SetTransport(m_preCompoundModel);
74 m_ftfp->SetMinEnergy(10 * GeV);
75 m_ftfp->SetMaxEnergy(100 * TeV);
76
77 // Inelastic cross section sets
78 G4VCrossSectionDataSet* kinelCS =
79 new G4CrossSectionInelastic(new G4ComponentGGHadronNucleusXsc);
80
81 // Elastic cross section
82 G4VCrossSectionDataSet* kelCS =
83 new G4CrossSectionElastic(new G4ComponentGGHadronNucleusXsc);
84
86 // K+ //
88
89 procMan = G4KaonPlus::KaonPlus()->GetProcessManager();
90
91 // elastic
92 G4HadronElasticProcess* kpProcEl = new G4HadronElasticProcess;
93 kpProcEl->RegisterMe(elModel);
94 kpProcEl->AddDataSet(kelCS);
95 procMan->AddDiscreteProcess(kpProcEl);
96
97 // inelastic
98 G4HadronInelasticProcess* kpProcInel = new G4HadronInelasticProcess("kaon+Inelastic", G4KaonPlus::Definition());
99 kpProcInel->RegisterMe(loInelModel);
100 kpProcInel->RegisterMe(m_ftfp);
101 kpProcInel->AddDataSet(kinelCS);
102 procMan->AddDiscreteProcess(kpProcInel);
103
105 // K- //
107
108 procMan = G4KaonMinus::KaonMinus()->GetProcessManager();
109
110 // elastic
111 G4HadronElasticProcess* kmProcEl = new G4HadronElasticProcess;
112 kmProcEl->RegisterMe(elModel);
113 kmProcEl->AddDataSet(kelCS);
114 procMan->AddDiscreteProcess(kmProcEl);
115
116 // inelastic
117 G4HadronInelasticProcess* kmProcInel = new G4HadronInelasticProcess("kaon-Inelastic", G4KaonMinus::Definition());
118 kmProcInel->RegisterMe(loInelModel);
119 kmProcInel->RegisterMe(m_ftfp);
120 kmProcInel->AddDataSet(kinelCS);
121 procMan->AddDiscreteProcess(kmProcInel);
122
123 // stopping
124 G4HadronicAbsorptionBertini* bertAbsorb = new G4HadronicAbsorptionBertini;
125 procMan->AddRestProcess(bertAbsorb);
126
128 // K0L //
130
131 procMan = G4KaonZeroLong::KaonZeroLong()->GetProcessManager();
132
133 // elastic
134 G4HadronElasticProcess* k0LProcEl = new G4HadronElasticProcess;
135 k0LProcEl->RegisterMe(elModel);
136 k0LProcEl->AddDataSet(kelCS);
137 procMan->AddDiscreteProcess(k0LProcEl);
138
139 // inelastic
140 G4HadronInelasticProcess* k0LProcInel = new G4HadronInelasticProcess("kaon0LInelastic", G4KaonZeroLong::Definition());
141 k0LProcInel->RegisterMe(loInelModel);
142 k0LProcInel->RegisterMe(m_ftfp);
143 k0LProcInel->AddDataSet(kinelCS);
144 procMan->AddDiscreteProcess(k0LProcInel);
145
147 // K0S //
149
150 procMan = G4KaonZeroShort::KaonZeroShort()->GetProcessManager();
151
152 // elastic
153 G4HadronElasticProcess* k0SProcEl = new G4HadronElasticProcess;
154 k0SProcEl->RegisterMe(elModel);
155 k0SProcEl->AddDataSet(kelCS);
156 procMan->AddDiscreteProcess(k0SProcEl);
157
158 // inelastic
159 G4HadronInelasticProcess* k0SProcInel = new G4HadronInelasticProcess("kaon0SInelastic", G4KaonZeroShort::Definition());
160 k0SProcInel->RegisterMe(loInelModel);
161 k0SProcInel->RegisterMe(m_ftfp);
162 k0SProcInel->AddDataSet(kinelCS);
163 procMan->AddDiscreteProcess(k0SProcInel);
164}

Member Data Documentation

◆ m_fragModel

G4LundStringFragmentation* m_fragModel
private

Lund string fragmentation model.

Definition at line 53 of file KaonPhysics.h.

◆ m_ftfp

G4TheoFSGenerator* m_ftfp
private

Final state generator for QCD string models.

Definition at line 44 of file KaonPhysics.h.

◆ m_preCompoundModel

G4GeneratorPrecompoundInterface* m_preCompoundModel
private

Precompound model to deexcite post-collision nucleus.

Definition at line 56 of file KaonPhysics.h.

◆ m_stringDecay

G4ExcitedStringDecay* m_stringDecay
private

Model to decay strings into hadrons.

Definition at line 50 of file KaonPhysics.h.

◆ m_stringModel

G4FTFModel* m_stringModel
private

Fritiof string model.

Definition at line 47 of file KaonPhysics.h.


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