Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ExcitedBaryonConstructor Class Referenceabstract

#include <G4ExcitedBaryonConstructor.hh>

Inheritance diagram for G4ExcitedBaryonConstructor:
Collaboration diagram for G4ExcitedBaryonConstructor:

Public Member Functions

 G4ExcitedBaryonConstructor (G4int nStates=0, G4int isoSpin=0)
 
virtual ~G4ExcitedBaryonConstructor ()
 
virtual void Construct (G4int indexOfState=-1)
 

Protected Member Functions

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
 

Protected Attributes

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 G4ExcitedBaryonConstructor.hh.

Constructor & Destructor Documentation

G4ExcitedBaryonConstructor::G4ExcitedBaryonConstructor ( G4int  nStates = 0,
G4int  isoSpin = 0 
)
G4ExcitedBaryonConstructor::~G4ExcitedBaryonConstructor ( )
virtual

Definition at line 55 of file G4ExcitedBaryonConstructor.cc.

56 {
57 }

Member Function Documentation

void G4ExcitedBaryonConstructor::Construct ( G4int  indexOfState = -1)
virtual

Definition at line 59 of file G4ExcitedBaryonConstructor.cc.

60 {
61  if (idx < 0 ) {
62  for (G4int state=0; state< NumberOfStates; state +=1) {
63  ConstructParticle(state);
64  ConstructAntiParticle(state);
65  }
66  } else if (idx < NumberOfStates) {
67  ConstructParticle(idx);
69  } else {
70 #ifdef G4VERBOSE
71  if (G4ParticleTable::GetParticleTable()->GetVerboseLevel()>1) {
72  G4cerr << "G4ExcitedBaryonConstructor::Construct()";
73  G4cerr << " illegal index os state = " << idx << G4endl;
74  }
75 #endif
76  }
77 }
int G4int
Definition: G4Types.hh:78
virtual void ConstructParticle(G4int indexOfState)
static G4ParticleTable * GetParticleTable()
#define G4endl
Definition: G4ios.hh:61
virtual void ConstructAntiParticle(G4int indexOfState)
G4GLOB_DLL std::ostream G4cerr

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ExcitedBaryonConstructor::ConstructAntiParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 113 of file G4ExcitedBaryonConstructor.cc.

114 {
115  if (!Exist(idx) ) return;
116 
117  // Construct Resonace particles as dynamic object
118  // Arguments for constructor are as follows
119  // name mass width charge
120  // 2*spin parity C-conjugation
121  // 2*Isospin 2*Isospin3 G-parity
122  // type lepton number baryon number PDG encoding
123  // stable lifetime decay table
124 
125 
126  G4String name;
127  G4ParticleDefinition* particle;
128 
129  for (G4int iIso3 = -1*iIsoSpin; iIso3 <= iIsoSpin; iIso3 +=2) {
130  name = GetName(iIso3, idx);
131  name = "anti_" + name;
132 
133  particle = new G4ExcitedBaryons(
134  name, GetMass(idx,iIso3), GetWidth(idx,iIso3), -1.0*GetCharge(iIso3),
135  GetiSpin(idx), GetiParity(idx), iConjugation,
136  iIsoSpin, -1*iIso3, iGParity,
137  type, leptonNumber,
138  -1*baryonNumber,
139  -1*GetEncoding( iIso3,idx),
140  false, 0.0, NULL
141  );
142 
143  ((G4ExcitedBaryons*)(particle))->SetMultipletName(GetMultipletName(idx));
144  particle->SetDecayTable(CreateDecayTable( name, iIso3, idx, true));
145  }
146 
147 }
void SetDecayTable(G4DecayTable *aDecayTable)
const XML_Char * name
Definition: expat.h:151
virtual G4double GetCharge(G4int iIsoSpin3)
virtual G4DecayTable * CreateDecayTable(const G4String &, G4int, G4int, G4bool)=0
virtual G4bool Exist(G4int)=0
virtual G4double GetMass(G4int state, G4int iso)=0
int G4int
Definition: G4Types.hh:78
virtual G4String GetName(G4int, G4int)=0
virtual G4String GetMultipletName(G4int)=0
virtual G4int GetiParity(G4int)=0
virtual G4double GetWidth(G4int state, G4int iso)=0
virtual G4int GetiSpin(G4int)=0
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)

Here is the call graph for this function:

Here is the caller graph for this function:

void G4ExcitedBaryonConstructor::ConstructParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 82 of file G4ExcitedBaryonConstructor.cc.

83 {
84  if (!Exist(idx) ) return;
85 
86  // Construct Resonace particles as dynamic object
87  // Arguments for constructor are as follows
88  // name mass width charge
89  // 2*spin parity C-conjugation
90  // 2*Isospin 2*Isospin3 G-parity
91  // type lepton number baryon number PDG encoding
92  // stable lifetime decay table
93 
94 
95  G4String name;
96  G4ParticleDefinition* particle;
97 
98  for (G4int iIso3 = -1*iIsoSpin; iIso3 <= iIsoSpin; iIso3 +=2) {
99  name= GetName(iIso3, idx);
100 
101  particle = new G4ExcitedBaryons(
102  name, GetMass(idx,iIso3), GetWidth(idx,iIso3), GetCharge(iIso3),
103  GetiSpin(idx), GetiParity(idx), iConjugation,
104  iIsoSpin, iIso3, iGParity,
105  type, leptonNumber, baryonNumber, GetEncoding( iIso3,idx),
106  false, 0.0, NULL
107  );
108  ((G4ExcitedBaryons*)(particle))->SetMultipletName(GetMultipletName(idx));
109  particle->SetDecayTable(CreateDecayTable( name, iIso3, idx, false));
110  }
111 }
void SetDecayTable(G4DecayTable *aDecayTable)
const XML_Char * name
Definition: expat.h:151
virtual G4double GetCharge(G4int iIsoSpin3)
virtual G4DecayTable * CreateDecayTable(const G4String &, G4int, G4int, G4bool)=0
virtual G4bool Exist(G4int)=0
virtual G4double GetMass(G4int state, G4int iso)=0
int G4int
Definition: G4Types.hh:78
virtual G4String GetName(G4int, G4int)=0
virtual G4String GetMultipletName(G4int)=0
virtual G4int GetiParity(G4int)=0
virtual G4double GetWidth(G4int state, G4int iso)=0
virtual G4int GetiSpin(G4int)=0
virtual G4int GetEncoding(G4int iIsoSpin3, G4int idxState)

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4DecayTable* G4ExcitedBaryonConstructor::CreateDecayTable ( const G4String ,
G4int  ,
G4int  ,
G4bool   
)
protectedpure virtual
virtual G4bool G4ExcitedBaryonConstructor::Exist ( G4int  )
protectedpure virtual
G4double G4ExcitedBaryonConstructor::GetCharge ( G4int  iIsoSpin3)
protectedvirtual

Definition at line 149 of file G4ExcitedBaryonConstructor.cc.

150 {
151  G4double charge = 0.0;
152  static const G4double quark_charge[7] =
153  {
154  0., -1./3., +2./3., -1./3., +2./3., -1./3., +2./3.
155  };
156 
157  for (G4int idx=0; idx<3; idx+=1){
158  charge += quark_charge[GetQuarkContents(idx, iIsoSpin3)]*eplus;
159  }
160  return charge;
161 }
int G4int
Definition: G4Types.hh:78
static constexpr double eplus
Definition: G4SIunits.hh:199
double G4double
Definition: G4Types.hh:76
virtual G4int GetQuarkContents(G4int, G4int)=0

Here is the call graph for this function:

Here is the caller graph for this function:

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

Reimplemented in G4ExcitedDeltaConstructor, and G4ExcitedNucleonConstructor.

Definition at line 163 of file G4ExcitedBaryonConstructor.cc.

164 {
165  G4int encoding = GetEncodingOffset(idxState);
166  encoding += 1000*GetQuarkContents(0, iIsoSpin3);
167  encoding += 100*GetQuarkContents(1, iIsoSpin3);
168  encoding += 10*GetQuarkContents(2, iIsoSpin3);
169  if (GetiSpin(idxState) <9) {
170  encoding += GetiSpin(idxState) +1;
171  } else {
172  encoding += (GetiSpin(idxState) +1)*10000000;
173  }
174  return encoding;
175 }
const XML_Char const XML_Char * encoding
Definition: expat.h:187
int G4int
Definition: G4Types.hh:78
virtual G4int GetEncodingOffset(G4int)=0
virtual G4int GetiSpin(G4int)=0
virtual G4int GetQuarkContents(G4int, G4int)=0

Here is the call graph for this function:

Here is the caller graph for this function:

virtual G4int G4ExcitedBaryonConstructor::GetEncodingOffset ( G4int  )
protectedpure virtual
virtual G4int G4ExcitedBaryonConstructor::GetiParity ( G4int  )
protectedpure virtual
virtual G4int G4ExcitedBaryonConstructor::GetiSpin ( G4int  )
protectedpure virtual
virtual G4double G4ExcitedBaryonConstructor::GetMass ( G4int  state,
G4int  iso 
)
protectedpure virtual
virtual G4String G4ExcitedBaryonConstructor::GetMultipletName ( G4int  )
protectedpure virtual
virtual G4String G4ExcitedBaryonConstructor::GetName ( G4int  ,
G4int   
)
protectedpure virtual
virtual G4int G4ExcitedBaryonConstructor::GetQuarkContents ( G4int  ,
G4int   
)
protectedpure virtual
virtual G4double G4ExcitedBaryonConstructor::GetWidth ( G4int  state,
G4int  iso 
)
protectedpure virtual

Member Data Documentation

const G4int G4ExcitedBaryonConstructor::baryonNumber
protected

Definition at line 71 of file G4ExcitedBaryonConstructor.hh.

const G4int G4ExcitedBaryonConstructor::iConjugation
protected

Definition at line 68 of file G4ExcitedBaryonConstructor.hh.

const G4int G4ExcitedBaryonConstructor::iGParity
protected

Definition at line 69 of file G4ExcitedBaryonConstructor.hh.

G4int G4ExcitedBaryonConstructor::iIsoSpin
protected

Definition at line 65 of file G4ExcitedBaryonConstructor.hh.

const G4int G4ExcitedBaryonConstructor::leptonNumber
protected

Definition at line 70 of file G4ExcitedBaryonConstructor.hh.

G4int G4ExcitedBaryonConstructor::NumberOfStates
protected

Definition at line 64 of file G4ExcitedBaryonConstructor.hh.

const G4String G4ExcitedBaryonConstructor::type
protected

Definition at line 67 of file G4ExcitedBaryonConstructor.hh.


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