Geant4  10.02.p03
G4ExcitedLambdaConstructor Class Reference

#include <G4ExcitedLambdaConstructor.hh>

Inheritance diagram for G4ExcitedLambdaConstructor:
Collaboration diagram for G4ExcitedLambdaConstructor:

Public Types

enum  { NStates = 12 }
 
enum  { NumberOfDecayModes = 7 }
 

Public Member Functions

 G4ExcitedLambdaConstructor ()
 
virtual ~G4ExcitedLambdaConstructor ()
 
- 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 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)
 

Private Types

enum  { LambdaIsoSpin = 0 }
 
enum  {
  NK =0, NKStar =1, SigmaPi =2, SigmaStarPi =3,
  LambdaGamma =4, LambdaEta =5, LambdaOmega =6
}
 

Private Member Functions

G4DecayTableAddNKMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddNKStarMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddSigmaPiMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddSigmaStarPiMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddLambdaGammaMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddLambdaEtaMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 
G4DecayTableAddLambdaOmegaMode (G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
 

Static Private Attributes

static const char * name [NStates]
 
static const G4double mass [NStates]
 
static const G4double width [NStates]
 
static const G4int iSpin [NStates]
 
static const G4int iParity [NStates]
 
static const G4int encodingOffset [NStates]
 
static const G4double bRatio [NStates][NumberOfDecayModes]
 

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 43 of file G4ExcitedLambdaConstructor.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NStates 

Definition at line 84 of file G4ExcitedLambdaConstructor.hh.

◆ anonymous enum

anonymous enum
private
Enumerator
LambdaIsoSpin 

Definition at line 86 of file G4ExcitedLambdaConstructor.hh.

◆ anonymous enum

anonymous enum
Enumerator
NumberOfDecayModes 

Definition at line 97 of file G4ExcitedLambdaConstructor.hh.

◆ anonymous enum

Constructor & Destructor Documentation

◆ G4ExcitedLambdaConstructor()

G4ExcitedLambdaConstructor::G4ExcitedLambdaConstructor ( )

◆ ~G4ExcitedLambdaConstructor()

G4ExcitedLambdaConstructor::~G4ExcitedLambdaConstructor ( )
virtual

Definition at line 53 of file G4ExcitedLambdaConstructor.cc.

54 {
55 }

Member Function Documentation

◆ AddLambdaEtaMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddLambdaEtaMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 116 of file G4ExcitedLambdaConstructor.cc.

119 {
120  G4VDecayChannel* mode;
121 
122  //
123  G4String lambda = "lambda";
124  if (fAnti) lambda = "anti_" + lambda;
125 
126  // create decay channel [parent BR #daughters]
127  mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
128  lambda,"eta");
129  // add decay table
130  decayTable->Insert(mode);
131 
132  return decayTable;
133 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddLambdaGammaMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddLambdaGammaMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 98 of file G4ExcitedLambdaConstructor.cc.

101 {
102  G4VDecayChannel* mode;
103 
104  //
105  G4String lambda = "lambda";
106  if (fAnti) lambda = "anti_" + lambda;
107 
108  // create decay channel [parent BR #daughters]
109  mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
110  lambda,"gamma");
111  // add decay table
112  decayTable->Insert(mode);
113 
114  return decayTable;
115 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddLambdaOmegaMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddLambdaOmegaMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 135 of file G4ExcitedLambdaConstructor.cc.

138 {
139  G4VDecayChannel* mode;
140 
141  //
142  G4String lambda = "lambda";
143  if (fAnti) lambda = "anti_" + lambda;
144 
145  // create decay channel [parent BR #daughters]
146  mode = new G4PhaseSpaceDecayChannel(nameParent, br, 2,
147  lambda,"omega");
148  // add decay table
149  decayTable->Insert(mode);
150 
151  return decayTable;
152 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddNKMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddNKMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 154 of file G4ExcitedLambdaConstructor.cc.

157 {
158  G4VDecayChannel* mode;
159 
160  G4String daughterN;
161  G4String daughterK;
162 
163  // ------------ N K- ------------
164  // determine daughters
165  daughterN = "proton";
166  if (!fAnti) {
167  daughterK = "kaon-";
168  } else {
169  daughterK = "kaon+";
170  }
171  if (fAnti) daughterN = "anti_" + daughterN;
172  // create decay channel [parent BR #daughters]
173  mode = new G4PhaseSpaceDecayChannel(nameParent, br/2.0, 2,
174  daughterN,daughterK);
175  // add decay table
176  decayTable->Insert(mode);
177 
178  // ------------ N K0 ------------
179  // determine daughters
180  daughterN = "neutron";
181  if (!fAnti) {
182  daughterK = "anti_kaon0";
183  } else {
184  daughterK = "kaon0";
185  }
186  if (fAnti) daughterN = "anti_" + daughterN;
187  // create decay channel [parent BR #daughters]
188  mode = new G4PhaseSpaceDecayChannel(nameParent, br/2.0, 2,
189  daughterN,daughterK);
190  // add decay table
191  decayTable->Insert(mode);
192 
193 
194  return decayTable;
195 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddNKStarMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddNKStarMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 197 of file G4ExcitedLambdaConstructor.cc.

200 {
201  G4VDecayChannel* mode;
202 
203  G4String daughterN;
204  G4String daughterK;
205 
206  // ------------ N K- ------------
207  // determine daughters
208  daughterN = "proton";
209  if (!fAnti) {
210  daughterK = "k_star-";
211  } else {
212  daughterK = "k_star+";
213  }
214  if (fAnti) daughterN = "anti_" + daughterN;
215  // create decay channel [parent BR #daughters]
216  mode = new G4PhaseSpaceDecayChannel(nameParent, br/2.0, 2,
217  daughterN,daughterK);
218  // add decay table
219  decayTable->Insert(mode);
220 
221  // ------------ N K0 ------------
222  // determine daughters
223  daughterN = "neutron";
224  if (!fAnti) {
225  daughterK = "anti_k_star0";
226  } else {
227  daughterK = "k_star0";
228  }
229  if (fAnti) daughterN = "anti_" + daughterN;
230  // create decay channel [parent BR #daughters]
231  mode = new G4PhaseSpaceDecayChannel(nameParent, br/2.0, 2,
232  daughterN,daughterK);
233  // add decay table
234  decayTable->Insert(mode);
235 
236 
237  return decayTable;
238 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddSigmaPiMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddSigmaPiMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 240 of file G4ExcitedLambdaConstructor.cc.

243 {
244  G4VDecayChannel* mode;
245 
246  G4String daughterSigma;
247  G4String daughterPi;
248 
249  // ------------ Sigma+ pi - ------------
250  // determine daughters
251  daughterSigma = "sigma+";
252  if (!fAnti) {
253  daughterPi = "pi-";
254  } else {
255  daughterPi = "pi+";
256  }
257  if (fAnti) daughterSigma = "anti_" + daughterSigma;
258  // create decay channel [parent BR #daughters]
259  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
260  daughterSigma,daughterPi);
261  // add decay table
262  decayTable->Insert(mode);
263 
264  // ------------ Sigma0 Pi0 ------------
265  // determine daughters
266  daughterSigma = "sigma0";
267  daughterPi = "pi0";
268 
269  if (fAnti) daughterSigma = "anti_" + daughterSigma;
270  // create decay channel [parent BR #daughters]
271  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
272  daughterSigma,daughterPi);
273 
274  // add decay table
275  decayTable->Insert(mode);
276 
277  // ------------ Sigma- pi + ------------
278  // determine daughters
279  daughterSigma = "sigma-";
280  if (!fAnti) {
281  daughterPi = "pi+";
282  } else {
283  daughterPi = "pi-";
284  }
285  if (fAnti) daughterSigma = "anti_" + daughterSigma;
286  // create decay channel [parent BR #daughters]
287  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
288  daughterSigma,daughterPi);
289  // add decay table
290  decayTable->Insert(mode);
291 
292  return decayTable;
293 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddSigmaStarPiMode()

G4DecayTable * G4ExcitedLambdaConstructor::AddSigmaStarPiMode ( G4DecayTable table,
const G4String name,
G4double  br,
G4int  iIso3,
G4bool  fAnti 
)
private

Definition at line 296 of file G4ExcitedLambdaConstructor.cc.

299 {
300  G4VDecayChannel* mode;
301 
302  G4String daughterSigma;
303  G4String daughterPi;
304 
305  // ------------ Sigma+ pi - ------------
306  // determine daughters
307  daughterSigma = "sigma(1385)+";
308  if (!fAnti) {
309  daughterPi = "pi-";
310  } else {
311  daughterPi = "pi+";
312  }
313  if (fAnti) daughterSigma = "anti_" + daughterSigma;
314  // create decay channel [parent BR #daughters]
315  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
316  daughterSigma,daughterPi);
317  // add decay table
318  decayTable->Insert(mode);
319 
320  // ------------ Sigma0 Pi0 ------------
321  // determine daughters
322  daughterSigma = "sigma(1385)0";
323  daughterPi = "pi0";
324 
325  if (fAnti) daughterSigma = "anti_" + daughterSigma;
326  // create decay channel [parent BR #daughters]
327  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
328  daughterSigma,daughterPi);
329 
330  // add decay table
331  decayTable->Insert(mode);
332 
333  // ------------ Sigma- pi + ------------
334  // determine daughters
335  daughterSigma = "sigma(1385)-";
336  if (!fAnti) {
337  daughterPi = "pi+";
338  } else {
339  daughterPi = "pi-";
340  }
341  if (fAnti) daughterSigma = "anti_" + daughterSigma;
342  // create decay channel [parent BR #daughters]
343  mode = new G4PhaseSpaceDecayChannel(nameParent, br/3.0, 2,
344  daughterSigma,daughterPi);
345  // add decay table
346  decayTable->Insert(mode);
347 
348  return decayTable;
349 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateDecayTable()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 57 of file G4ExcitedLambdaConstructor.cc.

62 {
63  // create decay table
64  G4DecayTable* decayTable = new G4DecayTable();
65 
66  G4double br;
67  if ( (br=bRatio[iState][NK]) >0.0) {
68  AddNKMode( decayTable, parentName, br, iIso3, fAnti);
69  }
70 
71  if ( (br=bRatio[iState][NKStar]) >0.0) {
72  AddNKStarMode( decayTable, parentName, br, iIso3, fAnti);
73  }
74 
75  if ( (br=bRatio[iState][SigmaPi]) >0.0) {
76  AddSigmaPiMode( decayTable, parentName, br, iIso3, fAnti);
77  }
78 
79  if ( (br=bRatio[iState][SigmaStarPi]) >0.0) {
80  AddSigmaStarPiMode( decayTable, parentName, br, iIso3, fAnti);
81  }
82 
83  if ( (br=bRatio[iState][LambdaGamma]) >0.0) {
84  AddLambdaGammaMode( decayTable, parentName, br, iIso3, fAnti);
85  }
86 
87  if ( (br=bRatio[iState][LambdaEta]) >0.0) {
88  AddLambdaEtaMode( decayTable, parentName, br, iIso3, fAnti);
89  }
90 
91  if ( (br=bRatio[iState][LambdaOmega]) >0.0) {
92  AddLambdaOmegaMode( decayTable, parentName, br, iIso3, fAnti);
93  }
94 
95  return decayTable;
96 }
G4DecayTable * AddNKStarMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
G4DecayTable * AddSigmaStarPiMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
G4DecayTable * AddSigmaPiMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
G4DecayTable * AddNKMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
G4DecayTable * AddLambdaEtaMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
static const G4double bRatio[NStates][NumberOfDecayModes]
G4DecayTable * AddLambdaGammaMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
G4DecayTable * AddLambdaOmegaMode(G4DecayTable *table, const G4String &name, G4double br, G4int iIso3, G4bool fAnti)
double G4double
Definition: G4Types.hh:76
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Exist()

virtual G4bool G4ExcitedLambdaConstructor::Exist ( G4int  )
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 53 of file G4ExcitedLambdaConstructor.hh.

53 {return true;}
Here is the call graph for this function:

◆ GetEncodingOffset()

G4int G4ExcitedLambdaConstructor::GetEncodingOffset ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 130 of file G4ExcitedLambdaConstructor.hh.

131 {
132  return encodingOffset[iState];
133 }
static const G4int encodingOffset[NStates]
Here is the caller graph for this function:

◆ GetiParity()

G4int G4ExcitedLambdaConstructor::GetiParity ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 124 of file G4ExcitedLambdaConstructor.hh.

125 {
126  return iParity[iState];
127 }
static const G4int iParity[NStates]
Here is the caller graph for this function:

◆ GetiSpin()

G4int G4ExcitedLambdaConstructor::GetiSpin ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 118 of file G4ExcitedLambdaConstructor.hh.

119 {
120  return iSpin[iState];
121 }
static const G4int iSpin[NStates]
Here is the caller graph for this function:

◆ GetMass()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 106 of file G4ExcitedLambdaConstructor.hh.

107 {
108  return mass[iState];
109 }
static const G4double mass[NStates]
Here is the caller graph for this function:

◆ GetMultipletName()

G4String G4ExcitedLambdaConstructor::GetMultipletName ( G4int  iState)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 153 of file G4ExcitedLambdaConstructor.hh.

154 {
155  return name[iState];
156 }
static const char * name[NStates]
Here is the caller graph for this function:

◆ GetName()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 159 of file G4ExcitedLambdaConstructor.hh.

160 {
161  G4String particle = name[iState];
162  return particle;
163 }
static const char * name[NStates]
Here is the caller graph for this function:

◆ GetQuarkContents()

G4int G4ExcitedLambdaConstructor::GetQuarkContents ( G4int  iQ,
G4int   
)
inlineprotectedvirtual

Implements G4ExcitedBaryonConstructor.

Definition at line 136 of file G4ExcitedLambdaConstructor.hh.

137 {
138  G4int quark=0;
139  if ( iQ == 0 ){
140  // s-quark
141  quark = 3;
142  } else if ( iQ == 1 ){
143  // d-quark
144  quark = 1;
145  } else if ( iQ == 2 ){
146  // u-quark
147  quark = 2;
148  }
149  return quark;
150 }
int G4int
Definition: G4Types.hh:78
Here is the caller graph for this function:

◆ GetWidth()

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

Implements G4ExcitedBaryonConstructor.

Definition at line 112 of file G4ExcitedLambdaConstructor.hh.

113 {
114  return width[iState];
115 }
static const G4double width[NStates]
Here is the caller graph for this function:

Member Data Documentation

◆ bRatio

const G4double G4ExcitedLambdaConstructor::bRatio
staticprivate
Initial value:
=
{
{ 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0},
{ 0.45, 0.0, 0.43, 0.11, 0.01, 0.0, 0.0},
{ 0.35, 0.0, 0.65, 0.0, 0.0, 0.0, 0.0},
{ 0.20, 0.0, 0.50, 0.0, 0.0, 0.30, 0.0},
{ 0.25, 0.0, 0.45, 0.30, 0.0, 0.0, 0.0},
{ 0.40, 0.20, 0.20, 0.20, 0.0, 0.0, 0.0},
{ 0.35, 0.45, 0.15, 0.05, 0.0, 0.0, 0.0},
{ 0.73, 0.0, 0.16, 0.11, 0.0, 0.0, 0.0},
{ 0.10, 0.0, 0.70, 0.20, 0.0, 0.0, 0.0},
{ 0.37, 0.21, 0.11, 0.31, 0.0, 0.0, 0.0},
{ 0.35, 0.20, 0.05, 0.30, 0.0, 0.02, 0.08},
{ 0.25, 0.45, 0.30, 0.0, 0.0, 0.0, 0.0}
}

Definition at line 102 of file G4ExcitedLambdaConstructor.hh.

◆ encodingOffset

const G4int G4ExcitedLambdaConstructor::encodingOffset
staticprivate
Initial value:
= {
10000, 0, 20000, 30000, 10000,
40000, 50000, 0, 10000, 20000,
0, 20000
}

Definition at line 94 of file G4ExcitedLambdaConstructor.hh.

◆ iParity

const G4int G4ExcitedLambdaConstructor::iParity
staticprivate
Initial value:
= {
-1, -1, +1, -1, -1,
-1, +1, +1, -1, +1,
-1, +1
}

Definition at line 93 of file G4ExcitedLambdaConstructor.hh.

◆ iSpin

const G4int G4ExcitedLambdaConstructor::iSpin
staticprivate
Initial value:
= {
1, 3, 1, 1, 3,
1, 1, 5, 5, 3,
7, 5
}

Definition at line 92 of file G4ExcitedLambdaConstructor.hh.

◆ mass

const G4double G4ExcitedLambdaConstructor::mass
staticprivate
Initial value:
= {
1.4051*GeV,1.5195*GeV, 1.600*GeV, 1.670*GeV, 1.690*GeV,
1.800*GeV, 1.810*GeV, 1.820*GeV, 1.830*GeV, 1.890*GeV,
2.100*GeV, 2.110*GeV
}

Definition at line 90 of file G4ExcitedLambdaConstructor.hh.

◆ name

const char * G4ExcitedLambdaConstructor::name
staticprivate
Initial value:
= {
"lambda(1405)","lambda(1520)","lambda(1600)","lambda(1670)","lambda(1690)",
"lambda(1800)","lambda(1810)","lambda(1820)","lambda(1830)","lambda(1890)",
"lambda(2100)","lambda(2110)"
}

Definition at line 89 of file G4ExcitedLambdaConstructor.hh.

◆ width

const G4double G4ExcitedLambdaConstructor::width
staticprivate
Initial value:
= {
50.5*MeV, 15.6*MeV, 150.0*MeV, 35.0*MeV, 60.0*MeV,
300.0*MeV, 150.0*MeV, 80.0*MeV, 95.0*MeV, 100.0*MeV,
200.0*MeV, 200.0*MeV
}

Definition at line 91 of file G4ExcitedLambdaConstructor.hh.


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