G4ExcitedNucleonConstructor Class Reference

#include <G4ExcitedNucleonConstructor.hh>

Inheritance diagram for G4ExcitedNucleonConstructor:

G4ExcitedBaryonConstructor

Public Types

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

Public Member Functions

 G4ExcitedNucleonConstructor ()
virtual ~G4ExcitedNucleonConstructor ()

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)

Detailed Description

Definition at line 43 of file G4ExcitedNucleonConstructor.hh.


Member Enumeration Documentation

anonymous enum

Enumerator:
NStates 

Definition at line 91 of file G4ExcitedNucleonConstructor.hh.

00091 { NStates = 15  };

anonymous enum

Enumerator:
NumberOfDecayModes 

Definition at line 104 of file G4ExcitedNucleonConstructor.hh.

00104 { NumberOfDecayModes = 9 };


Constructor & Destructor Documentation

G4ExcitedNucleonConstructor::G4ExcitedNucleonConstructor (  ) 

Definition at line 48 of file G4ExcitedNucleonConstructor.cc.

00048                                                         :
00049     G4ExcitedBaryonConstructor(NStates, NucleonIsoSpin)
00050 {
00051 
00052 }

G4ExcitedNucleonConstructor::~G4ExcitedNucleonConstructor (  )  [virtual]

Definition at line 54 of file G4ExcitedNucleonConstructor.cc.

00055 {
00056 }


Member Function Documentation

G4DecayTable * G4ExcitedNucleonConstructor::CreateDecayTable ( const G4String name,
G4int  iIso3,
G4int  iState,
G4bool  fAnti = false 
) [protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 87 of file G4ExcitedNucleonConstructor.cc.

00092 {
00093   // create decay table
00094   G4DecayTable* decayTable =  new G4DecayTable();
00095 
00096   G4double br;
00097   if ( (br=bRatio[iState][NGamma]) >0.0) {
00098     AddNGammaMode( decayTable, parentName, br, iIso3, fAnti);
00099   }
00100 
00101   if ( (br=bRatio[iState][NPi]) >0.0) {
00102     AddNPiMode( decayTable, parentName, br, iIso3, fAnti);
00103   }
00104 
00105   if ( (br=bRatio[iState][NEta]) >0.0) {
00106     AddNEtaMode( decayTable, parentName, br, iIso3, fAnti);
00107   }
00108 
00109   if ( (br=bRatio[iState][NOmega]) >0.0) {
00110     AddNOmegaMode( decayTable, parentName, br, iIso3, fAnti);
00111   }
00112 
00113   if ( (br=bRatio[iState][NRho]) >0.0) {
00114     AddNRhoMode( decayTable, parentName, br, iIso3, fAnti);
00115   }
00116 
00117   if ( (br=bRatio[iState][N2Pi]) >0.0) {
00118     AddN2PiMode( decayTable, parentName, br, iIso3, fAnti);
00119   }
00120 
00121   if ( (br=bRatio[iState][DeltaPi]) >0.0) {
00122     AddDeltaPiMode( decayTable, parentName, br, iIso3, fAnti);
00123   }
00124 
00125   if ( (br=bRatio[iState][NStarPi]) >0.0) {
00126     AddNStarPiMode( decayTable, parentName, br, iIso3, fAnti);
00127   }
00128 
00129   if ( (br=bRatio[iState][LambdaK]) >0.0) {
00130     AddLambdaKMode( decayTable, parentName, br, iIso3, fAnti);
00131   }
00132 
00133   return  decayTable;
00134 }

virtual G4bool G4ExcitedNucleonConstructor::Exist ( G4int   )  [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 56 of file G4ExcitedNucleonConstructor.hh.

00056 {return true;}

G4int G4ExcitedNucleonConstructor::GetEncoding ( G4int  iIsoSpin3,
G4int  idxState 
) [protected, virtual]

Reimplemented from G4ExcitedBaryonConstructor.

Definition at line 58 of file G4ExcitedNucleonConstructor.cc.

References encoding, G4ExcitedBaryonConstructor::GetEncoding(), GetEncodingOffset(), GetiSpin(), and GetQuarkContents().

00059 {
00060   G4int encoding;
00061   // Delta has exceptinal encoding
00062   if ((idxState==1)||(idxState==6)||(idxState==8)||(idxState==9)||(idxState==12) )  {
00063     encoding = GetEncodingOffset(idxState);
00064     if ((iIsoSpin3==3)||(iIsoSpin3==-3)) {
00065       // normal encoding 
00066       encoding += 1000*GetQuarkContents(0, iIsoSpin3);
00067       encoding +=  100*GetQuarkContents(1, iIsoSpin3);
00068       encoding +=   10*GetQuarkContents(2, iIsoSpin3);
00069     } else if (iIsoSpin3== +1){
00070       // 1st <--> 2nd quark 
00071       encoding += 1000*GetQuarkContents(0, iIsoSpin3);
00072       encoding +=   10*GetQuarkContents(1, iIsoSpin3);
00073       encoding +=  100*GetQuarkContents(2, iIsoSpin3);
00074     } else if (iIsoSpin3== -1){
00075       // 1st <--> 0th quark 
00076       encoding +=  100*GetQuarkContents(0, iIsoSpin3);
00077       encoding += 1000*GetQuarkContents(1, iIsoSpin3);
00078       encoding +=   10*GetQuarkContents(2, iIsoSpin3);
00079     }
00080     encoding += GetiSpin(idxState) +1;
00081   } else {
00082     encoding = G4ExcitedBaryonConstructor::GetEncoding(iIsoSpin3, idxState);
00083   }
00084   return encoding;
00085 }

G4int G4ExcitedNucleonConstructor::GetEncodingOffset ( G4int  iState  )  [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 137 of file G4ExcitedNucleonConstructor.hh.

Referenced by GetEncoding().

00138 {
00139   return encodingOffset[iState];
00140 }

G4int G4ExcitedNucleonConstructor::GetiParity ( G4int  iState  )  [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 131 of file G4ExcitedNucleonConstructor.hh.

00132 {
00133   return iParity[iState];
00134 }

G4int G4ExcitedNucleonConstructor::GetiSpin ( G4int  iState  )  [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 125 of file G4ExcitedNucleonConstructor.hh.

Referenced by GetEncoding().

00126 {
00127   return iSpin[iState];
00128 }

G4double G4ExcitedNucleonConstructor::GetMass ( G4int  state,
G4int  iso 
) [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 113 of file G4ExcitedNucleonConstructor.hh.

00114 { 
00115   return mass[iState]; 
00116 }

G4String G4ExcitedNucleonConstructor::GetMultipletName ( G4int  iState  )  [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 168 of file G4ExcitedNucleonConstructor.hh.

00169 {
00170   return name[iState];
00171 }

G4String G4ExcitedNucleonConstructor::GetName ( G4int  iIso3,
G4int  iState 
) [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 174 of file G4ExcitedNucleonConstructor.hh.

00175 {
00176   G4String particle = name[iState];
00177   if ( iIso3 == -1 ){
00178     particle += "0";
00179   } else {
00180     particle += "+";
00181   }
00182   return particle;
00183 }

G4int G4ExcitedNucleonConstructor::GetQuarkContents ( G4int  ,
G4int   
) [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 143 of file G4ExcitedNucleonConstructor.hh.

Referenced by GetEncoding().

00144 {
00145   // Quark contents
00146   //    iIso3 = -1 : udd
00147   //    iIso3 = +1 : uud
00148   G4int quark=0;
00149   if ( iQ == 0 ){
00150     // u-quark
00151     quark = 2;
00152   } else if ( iQ == 2 ){
00153     // d-quark
00154     quark = 1;
00155   } else {
00156     if ( iIso3 == -1 ){
00157     // d-quark
00158       quark = 1;
00159     } else {
00160     // u-quark
00161       quark = 2;
00162     }
00163   }
00164   return quark;
00165 }

G4double G4ExcitedNucleonConstructor::GetWidth ( G4int  state,
G4int  iso 
) [inline, protected, virtual]

Implements G4ExcitedBaryonConstructor.

Definition at line 119 of file G4ExcitedNucleonConstructor.hh.

00120 {
00121   return width[iState];
00122 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:57 2013 for Geant4 by  doxygen 1.4.7