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

#include <G4ExcitedNucleonConstructor.hh>

+ Inheritance diagram for G4ExcitedNucleonConstructor:

Public Types

enum  { NStates = 15 }
 
enum  { NumberOfDecayModes = 9 }
 

Public Member Functions

 G4ExcitedNucleonConstructor ()
 
 ~G4ExcitedNucleonConstructor () override=default
 
- Public Member Functions inherited from G4ExcitedBaryonConstructor
 G4ExcitedBaryonConstructor (G4int nStates=0, G4int isoSpin=0)
 
virtual ~G4ExcitedBaryonConstructor ()=default
 
virtual void Construct (G4int indexOfState=-1)
 

Protected Member Functions

G4int GetEncoding (G4int iIsoSpin3, G4int idxState) override
 
G4bool Exist (G4int) override
 
G4int GetQuarkContents (G4int, G4int) override
 
G4String GetName (G4int iIso3, G4int iState) override
 
G4String GetMultipletName (G4int iState) override
 
G4double GetMass (G4int state, G4int iso) override
 
G4double GetWidth (G4int state, G4int iso) override
 
G4int GetiSpin (G4int iState) override
 
G4int GetiParity (G4int iState) override
 
G4int GetEncodingOffset (G4int iState) override
 
G4DecayTableCreateDecayTable (const G4String &name, G4int iIso3, G4int iState, G4bool fAnti=false) override
 
- Protected Member Functions inherited from G4ExcitedBaryonConstructor
virtual void ConstructParticle (G4int indexOfState)
 
virtual void ConstructAntiParticle (G4int indexOfState)
 
virtual G4double GetCharge (G4int iIsoSpin3)
 

Additional Inherited Members

- Protected Attributes inherited from G4ExcitedBaryonConstructor
G4int NumberOfStates
 
G4int iIsoSpin
 
const G4String type
 
const G4int iConjugation {0}
 
const G4int iGParity {0}
 
const G4int leptonNumber {0}
 
const G4int baryonNumber {1}
 

Detailed Description

Definition at line 38 of file G4ExcitedNucleonConstructor.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NStates 

Definition at line 43 of file G4ExcitedNucleonConstructor.hh.

◆ anonymous enum

anonymous enum
Enumerator
NumberOfDecayModes 

Definition at line 48 of file G4ExcitedNucleonConstructor.hh.

Constructor & Destructor Documentation

◆ G4ExcitedNucleonConstructor()

G4ExcitedNucleonConstructor::G4ExcitedNucleonConstructor ( )

Definition at line 42 of file G4ExcitedNucleonConstructor.cc.

43 : G4ExcitedBaryonConstructor(NStates, NucleonIsoSpin)
44{}
G4ExcitedBaryonConstructor(G4int nStates=0, G4int isoSpin=0)

◆ ~G4ExcitedNucleonConstructor()

G4ExcitedNucleonConstructor::~G4ExcitedNucleonConstructor ( )
overridedefault

Member Function Documentation

◆ CreateDecayTable()

G4DecayTable * G4ExcitedNucleonConstructor::CreateDecayTable ( const G4String & name,
G4int iIso3,
G4int iState,
G4bool fAnti = false )
overrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 84 of file G4ExcitedNucleonConstructor.cc.

86{
87 // create decay table
88 auto decayTable = new G4DecayTable();
89
90 G4double br;
91 if ((br = bRatio[iState][NGamma]) > 0.0) {
92 AddNGammaMode(decayTable, parentName, br, iIso3, fAnti);
93 }
94
95 if ((br = bRatio[iState][NPi]) > 0.0) {
96 AddNPiMode(decayTable, parentName, br, iIso3, fAnti);
97 }
98
99 if ((br = bRatio[iState][NEta]) > 0.0) {
100 AddNEtaMode(decayTable, parentName, br, iIso3, fAnti);
101 }
102
103 if ((br = bRatio[iState][NOmega]) > 0.0) {
104 AddNOmegaMode(decayTable, parentName, br, iIso3, fAnti);
105 }
106
107 if ((br = bRatio[iState][NRho]) > 0.0) {
108 AddNRhoMode(decayTable, parentName, br, iIso3, fAnti);
109 }
110
111 if ((br = bRatio[iState][N2Pi]) > 0.0) {
112 AddN2PiMode(decayTable, parentName, br, iIso3, fAnti);
113 }
114
115 if ((br = bRatio[iState][DeltaPi]) > 0.0) {
116 AddDeltaPiMode(decayTable, parentName, br, iIso3, fAnti);
117 }
118
119 if ((br = bRatio[iState][NStarPi]) > 0.0) {
120 AddNStarPiMode(decayTable, parentName, br, iIso3, fAnti);
121 }
122
123 if ((br = bRatio[iState][LambdaK]) > 0.0) {
124 AddLambdaKMode(decayTable, parentName, br, iIso3, fAnti);
125 }
126
127 return decayTable;
128}
double G4double
Definition G4Types.hh:83

◆ Exist()

G4bool G4ExcitedNucleonConstructor::Exist ( G4int )
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 60 of file G4ExcitedNucleonConstructor.hh.

60{ return true; }

◆ GetEncoding()

G4int G4ExcitedNucleonConstructor::GetEncoding ( G4int iIsoSpin3,
G4int idxState )
overrideprotectedvirtual

Reimplemented from G4ExcitedBaryonConstructor.

Definition at line 46 of file G4ExcitedNucleonConstructor.cc.

47{
49 // Delta has exceptinal encoding
50 if ((idxState == 1) // N(1520)
51 || (idxState == 6) // N(1700)
52 || (idxState == 8) // N(1720)
53 || (idxState == 9) // N(1900)
54 || (idxState == 12)) // N(2190)
55 {
56 encoding = GetEncodingOffset(idxState);
57 if ((iIsoSpin3 == 3) || (iIsoSpin3 == -3)) {
58 // normal encoding
59 encoding += 1000 * GetQuarkContents(0, iIsoSpin3);
60 encoding += 100 * GetQuarkContents(1, iIsoSpin3);
61 encoding += 10 * GetQuarkContents(2, iIsoSpin3);
62 }
63 else if (iIsoSpin3 == +1) {
64 // 1st <--> 2nd quark
65 encoding += 1000 * GetQuarkContents(0, iIsoSpin3);
66 encoding += 10 * GetQuarkContents(1, iIsoSpin3);
67 encoding += 100 * GetQuarkContents(2, iIsoSpin3);
68 }
69 else if (iIsoSpin3 == -1) {
70 // 1st <--> 0th quark
71 encoding += 100 * GetQuarkContents(0, iIsoSpin3);
72 encoding += 1000 * GetQuarkContents(1, iIsoSpin3);
73 encoding += 10 * GetQuarkContents(2, iIsoSpin3);
74 }
75 encoding += GetiSpin(idxState) + 1;
76 }
77 else
78 {
80 }
81 return encoding;
82}
int G4int
Definition G4Types.hh:85
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)
G4int GetQuarkContents(G4int, G4int) override
G4int GetiSpin(G4int iState) override
G4int GetEncodingOffset(G4int iState) override

◆ GetEncodingOffset()

G4int G4ExcitedNucleonConstructor::GetEncodingOffset ( G4int iState)
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 143 of file G4ExcitedNucleonConstructor.hh.

144{
145 return encodingOffset[iState];
146}

Referenced by GetEncoding().

◆ GetiParity()

G4int G4ExcitedNucleonConstructor::GetiParity ( G4int iState)
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 138 of file G4ExcitedNucleonConstructor.hh.

139{
140 return iParity[iState];
141}

◆ GetiSpin()

G4int G4ExcitedNucleonConstructor::GetiSpin ( G4int iState)
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 133 of file G4ExcitedNucleonConstructor.hh.

134{
135 return iSpin[iState];
136}

Referenced by GetEncoding().

◆ GetMass()

G4double G4ExcitedNucleonConstructor::GetMass ( G4int state,
G4int iso )
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 123 of file G4ExcitedNucleonConstructor.hh.

124{
125 return mass[iState];
126}

◆ GetMultipletName()

G4String G4ExcitedNucleonConstructor::GetMultipletName ( G4int iState)
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 175 of file G4ExcitedNucleonConstructor.hh.

176{
177 return name[iState];
178}

◆ GetName()

G4String G4ExcitedNucleonConstructor::GetName ( G4int iIso3,
G4int iState )
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 180 of file G4ExcitedNucleonConstructor.hh.

181{
182 G4String particle = name[iState];
183 if (iIso3 == -1) {
184 particle += "0";
185 }
186 else {
187 particle += "+";
188 }
189 return particle;
190}

◆ GetQuarkContents()

G4int G4ExcitedNucleonConstructor::GetQuarkContents ( G4int iQ,
G4int iIso3 )
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 148 of file G4ExcitedNucleonConstructor.hh.

149{
150 // Quark contents
151 // iIso3 = -1 : udd
152 // iIso3 = +1 : uud
153 G4int quark = 0;
154 if (iQ == 0) {
155 // u-quark
156 quark = 2;
157 }
158 else if (iQ == 2) {
159 // d-quark
160 quark = 1;
161 }
162 else {
163 if (iIso3 == -1) {
164 // d-quark
165 quark = 1;
166 }
167 else {
168 // u-quark
169 quark = 2;
170 }
171 }
172 return quark;
173}

Referenced by GetEncoding().

◆ GetWidth()

G4double G4ExcitedNucleonConstructor::GetWidth ( G4int state,
G4int iso )
inlineoverrideprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 128 of file G4ExcitedNucleonConstructor.hh.

129{
130 return width[iState];
131}

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