Geant4-11
Public Member Functions | Protected Member Functions | Protected Attributes
G4ExcitedBaryonConstructor Class Referenceabstract

#include <G4ExcitedBaryonConstructor.hh>

Inheritance diagram for G4ExcitedBaryonConstructor:
G4ExcitedDeltaConstructor G4ExcitedLambdaConstructor G4ExcitedNucleonConstructor G4ExcitedSigmaConstructor G4ExcitedXiConstructor

Public Member Functions

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

Protected Member Functions

virtual void ConstructAntiParticle (G4int indexOfState)
 
virtual void ConstructParticle (G4int indexOfState)
 
virtual G4DecayTableCreateDecayTable (const G4String &, G4int, G4int, G4bool)=0
 
virtual G4bool Exist (G4int)=0
 
virtual G4double GetCharge (G4int iIsoSpin3)
 
virtual G4int GetEncoding (G4int iIsoSpin3, G4int idxState)
 
virtual G4int GetEncodingOffset (G4int)=0
 
virtual G4int GetiParity (G4int)=0
 
virtual G4int GetiSpin (G4int)=0
 
virtual G4double GetMass (G4int state, G4int iso)=0
 
virtual G4String GetMultipletName (G4int)=0
 
virtual G4String GetName (G4int, G4int)=0
 
virtual G4int GetQuarkContents (G4int, G4int)=0
 
virtual G4double GetWidth (G4int state, G4int iso)=0
 

Protected Attributes

const G4int baryonNumber
 
const G4int iConjugation
 
const G4int iGParity
 
G4int iIsoSpin
 
const G4int leptonNumber
 
G4int NumberOfStates
 
const G4String type
 

Detailed Description

Definition at line 42 of file G4ExcitedBaryonConstructor.hh.

Constructor & Destructor Documentation

◆ G4ExcitedBaryonConstructor()

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

◆ ~G4ExcitedBaryonConstructor()

G4ExcitedBaryonConstructor::~G4ExcitedBaryonConstructor ( )
virtual

Definition at line 54 of file G4ExcitedBaryonConstructor.cc.

55{
56}

Member Function Documentation

◆ Construct()

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

Definition at line 58 of file G4ExcitedBaryonConstructor.cc.

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

References ConstructAntiParticle(), ConstructParticle(), G4cerr, G4endl, G4ParticleTable::GetParticleTable(), and NumberOfStates.

Referenced by G4ShortLivedConstructor::ConstructResonances().

◆ ConstructAntiParticle()

void G4ExcitedBaryonConstructor::ConstructAntiParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 112 of file G4ExcitedBaryonConstructor.cc.

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

References baryonNumber, CreateDecayTable(), Exist(), GetCharge(), GetEncoding(), GetiParity(), GetiSpin(), GetMass(), GetMultipletName(), GetName(), GetWidth(), iConjugation, iGParity, iIsoSpin, leptonNumber, G4InuclParticleNames::name(), G4ParticleDefinition::SetDecayTable(), and type.

Referenced by Construct().

◆ ConstructParticle()

void G4ExcitedBaryonConstructor::ConstructParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 81 of file G4ExcitedBaryonConstructor.cc.

82{
83 if (!Exist(idx) ) return;
84
85 // Construct Resonace particles as dynamic object
86 // Arguments for constructor are as follows
87 // name mass width charge
88 // 2*spin parity C-conjugation
89 // 2*Isospin 2*Isospin3 G-parity
90 // type lepton number baryon number PDG encoding
91 // stable lifetime decay table
92
93
95 G4ParticleDefinition* particle;
96
97 for (G4int iIso3 = -1*iIsoSpin; iIso3 <= iIsoSpin; iIso3 +=2) {
98 name= GetName(iIso3, idx);
99
100 particle = new G4ExcitedBaryons(
101 name, GetMass(idx,iIso3), GetWidth(idx,iIso3), GetCharge(iIso3),
102 GetiSpin(idx), GetiParity(idx), iConjugation,
103 iIsoSpin, iIso3, iGParity,
105 false, 0.0, NULL
106 );
107 ((G4ExcitedBaryons*)(particle))->SetMultipletName(GetMultipletName(idx));
108 particle->SetDecayTable(CreateDecayTable( name, iIso3, idx, false));
109 }
110}

References baryonNumber, CreateDecayTable(), Exist(), GetCharge(), GetEncoding(), GetiParity(), GetiSpin(), GetMass(), GetMultipletName(), GetName(), GetWidth(), iConjugation, iGParity, iIsoSpin, leptonNumber, G4InuclParticleNames::name(), G4ParticleDefinition::SetDecayTable(), and type.

Referenced by Construct().

◆ CreateDecayTable()

virtual G4DecayTable * G4ExcitedBaryonConstructor::CreateDecayTable ( const G4String ,
G4int  ,
G4int  ,
G4bool   
)
protectedpure virtual

◆ Exist()

virtual G4bool G4ExcitedBaryonConstructor::Exist ( G4int  )
protectedpure virtual

◆ GetCharge()

G4double G4ExcitedBaryonConstructor::GetCharge ( G4int  iIsoSpin3)
protectedvirtual

Definition at line 148 of file G4ExcitedBaryonConstructor.cc.

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

References eplus, and GetQuarkContents().

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ GetEncoding()

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

Reimplemented in G4ExcitedDeltaConstructor, and G4ExcitedNucleonConstructor.

Definition at line 162 of file G4ExcitedBaryonConstructor.cc.

163{
164 G4int encoding = GetEncodingOffset(idxState);
165 encoding += 1000*GetQuarkContents(0, iIsoSpin3);
166 encoding += 100*GetQuarkContents(1, iIsoSpin3);
167 encoding += 10*GetQuarkContents(2, iIsoSpin3);
168 if (GetiSpin(idxState) <9) {
169 encoding += GetiSpin(idxState) +1;
170 } else {
171 encoding += (GetiSpin(idxState) +1)*10000000;
172 }
173 return encoding;
174}
virtual G4int GetEncodingOffset(G4int)=0
#define encoding
Definition: xmlparse.cc:605

References encoding, GetEncodingOffset(), GetiSpin(), and GetQuarkContents().

Referenced by ConstructAntiParticle(), ConstructParticle(), G4ExcitedDeltaConstructor::GetEncoding(), and G4ExcitedNucleonConstructor::GetEncoding().

◆ GetEncodingOffset()

virtual G4int G4ExcitedBaryonConstructor::GetEncodingOffset ( G4int  )
protectedpure virtual

◆ GetiParity()

virtual G4int G4ExcitedBaryonConstructor::GetiParity ( G4int  )
protectedpure virtual

◆ GetiSpin()

virtual G4int G4ExcitedBaryonConstructor::GetiSpin ( G4int  )
protectedpure virtual

◆ GetMass()

virtual G4double G4ExcitedBaryonConstructor::GetMass ( G4int  state,
G4int  iso 
)
protectedpure virtual

◆ GetMultipletName()

virtual G4String G4ExcitedBaryonConstructor::GetMultipletName ( G4int  )
protectedpure virtual

◆ GetName()

virtual G4String G4ExcitedBaryonConstructor::GetName ( G4int  ,
G4int   
)
protectedpure virtual

◆ GetQuarkContents()

virtual G4int G4ExcitedBaryonConstructor::GetQuarkContents ( G4int  ,
G4int   
)
protectedpure virtual

◆ GetWidth()

virtual G4double G4ExcitedBaryonConstructor::GetWidth ( G4int  state,
G4int  iso 
)
protectedpure virtual

Field Documentation

◆ baryonNumber

const G4int G4ExcitedBaryonConstructor::baryonNumber
protected

Definition at line 70 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iConjugation

const G4int G4ExcitedBaryonConstructor::iConjugation
protected

Definition at line 67 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iGParity

const G4int G4ExcitedBaryonConstructor::iGParity
protected

Definition at line 68 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iIsoSpin

G4int G4ExcitedBaryonConstructor::iIsoSpin
protected

Definition at line 64 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ leptonNumber

const G4int G4ExcitedBaryonConstructor::leptonNumber
protected

Definition at line 69 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ NumberOfStates

G4int G4ExcitedBaryonConstructor::NumberOfStates
protected

Definition at line 63 of file G4ExcitedBaryonConstructor.hh.

Referenced by Construct().

◆ type

const G4String G4ExcitedBaryonConstructor::type
protected

Definition at line 66 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().


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