Geant4 11.1.1
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 ()
 
virtual ~G4ExcitedNucleonConstructor ()
 
- Public Member Functions inherited from G4ExcitedBaryonConstructor
 G4ExcitedBaryonConstructor (G4int nStates=0, G4int isoSpin=0)
 
virtual ~G4ExcitedBaryonConstructor ()
 
virtual void Construct (G4int indexOfState=-1)
 

Protected Member Functions

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

Additional Inherited Members

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

Detailed Description

Definition at line 42 of file G4ExcitedNucleonConstructor.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NStates 

Definition at line 90 of file G4ExcitedNucleonConstructor.hh.

◆ anonymous enum

anonymous enum
Enumerator
NumberOfDecayModes 

Definition at line 103 of file G4ExcitedNucleonConstructor.hh.

Constructor & Destructor Documentation

◆ G4ExcitedNucleonConstructor()

G4ExcitedNucleonConstructor::G4ExcitedNucleonConstructor ( )

Definition at line 46 of file G4ExcitedNucleonConstructor.cc.

◆ ~G4ExcitedNucleonConstructor()

G4ExcitedNucleonConstructor::~G4ExcitedNucleonConstructor ( )
virtual

Definition at line 52 of file G4ExcitedNucleonConstructor.cc.

53{
54}

Member Function Documentation

◆ CreateDecayTable()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 85 of file G4ExcitedNucleonConstructor.cc.

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

◆ Exist()

virtual G4bool G4ExcitedNucleonConstructor::Exist ( G4int  )
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 55 of file G4ExcitedNucleonConstructor.hh.

55{return true;}

◆ GetEncoding()

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

Reimplemented from G4ExcitedBaryonConstructor.

Definition at line 56 of file G4ExcitedNucleonConstructor.cc.

57{
59 // Delta has exceptinal encoding
60 if ((idxState==1)||(idxState==6)||(idxState==8)||(idxState==9)||(idxState==12) ) {
61 encoding = GetEncodingOffset(idxState);
62 if ((iIsoSpin3==3)||(iIsoSpin3==-3)) {
63 // normal encoding
64 encoding += 1000*GetQuarkContents(0, iIsoSpin3);
65 encoding += 100*GetQuarkContents(1, iIsoSpin3);
66 encoding += 10*GetQuarkContents(2, iIsoSpin3);
67 } else if (iIsoSpin3== +1){
68 // 1st <--> 2nd quark
69 encoding += 1000*GetQuarkContents(0, iIsoSpin3);
70 encoding += 10*GetQuarkContents(1, iIsoSpin3);
71 encoding += 100*GetQuarkContents(2, iIsoSpin3);
72 } else if (iIsoSpin3== -1){
73 // 1st <--> 0th quark
74 encoding += 100*GetQuarkContents(0, iIsoSpin3);
75 encoding += 1000*GetQuarkContents(1, iIsoSpin3);
76 encoding += 10*GetQuarkContents(2, iIsoSpin3);
77 }
78 encoding += GetiSpin(idxState) +1;
79 } else {
81 }
82 return encoding;
83}
int G4int
Definition: G4Types.hh:85
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)
virtual G4int GetQuarkContents(G4int, G4int)
virtual G4int GetiSpin(G4int iState)
virtual G4int GetEncodingOffset(G4int iState)

◆ GetEncodingOffset()

G4int G4ExcitedNucleonConstructor::GetEncodingOffset ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 136 of file G4ExcitedNucleonConstructor.hh.

137{
138 return encodingOffset[iState];
139}

Referenced by GetEncoding().

◆ GetiParity()

G4int G4ExcitedNucleonConstructor::GetiParity ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 130 of file G4ExcitedNucleonConstructor.hh.

131{
132 return iParity[iState];
133}

◆ GetiSpin()

G4int G4ExcitedNucleonConstructor::GetiSpin ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 124 of file G4ExcitedNucleonConstructor.hh.

125{
126 return iSpin[iState];
127}

Referenced by GetEncoding().

◆ GetMass()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 112 of file G4ExcitedNucleonConstructor.hh.

113{
114 return mass[iState];
115}

◆ GetMultipletName()

G4String G4ExcitedNucleonConstructor::GetMultipletName ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 167 of file G4ExcitedNucleonConstructor.hh.

168{
169 return name[iState];
170}

◆ GetName()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 173 of file G4ExcitedNucleonConstructor.hh.

174{
175 G4String particle = name[iState];
176 if ( iIso3 == -1 ){
177 particle += "0";
178 } else {
179 particle += "+";
180 }
181 return particle;
182}

◆ GetQuarkContents()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 142 of file G4ExcitedNucleonConstructor.hh.

143{
144 // Quark contents
145 // iIso3 = -1 : udd
146 // iIso3 = +1 : uud
147 G4int quark=0;
148 if ( iQ == 0 ){
149 // u-quark
150 quark = 2;
151 } else if ( iQ == 2 ){
152 // d-quark
153 quark = 1;
154 } else {
155 if ( iIso3 == -1 ){
156 // d-quark
157 quark = 1;
158 } else {
159 // u-quark
160 quark = 2;
161 }
162 }
163 return quark;
164}

Referenced by GetEncoding().

◆ GetWidth()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 118 of file G4ExcitedNucleonConstructor.hh.

119{
120 return width[iState];
121}

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