Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ExcitedBaryonConstructor Class Referenceabstract

#include <G4ExcitedBaryonConstructor.hh>

+ Inheritance 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::G4ExcitedBaryonConstructor ( G4int  nStates = 0,
G4int  isoSpin = 0 
)

◆ ~G4ExcitedBaryonConstructor()

G4ExcitedBaryonConstructor::~G4ExcitedBaryonConstructor ( )
virtual

Definition at line 56 of file G4ExcitedBaryonConstructor.cc.

57{
58}

Member Function Documentation

◆ Construct()

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

Definition at line 60 of file G4ExcitedBaryonConstructor.cc.

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

Referenced by G4ShortLivedConstructor::ConstructResonances().

◆ ConstructAntiParticle()

void G4ExcitedBaryonConstructor::ConstructAntiParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 114 of file G4ExcitedBaryonConstructor.cc.

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

Referenced by Construct().

◆ ConstructParticle()

void G4ExcitedBaryonConstructor::ConstructParticle ( G4int  indexOfState)
protectedvirtual

Definition at line 83 of file G4ExcitedBaryonConstructor.cc.

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

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 150 of file G4ExcitedBaryonConstructor.cc.

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

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ GetEncoding()

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

Reimplemented in G4ExcitedDeltaConstructor, and G4ExcitedNucleonConstructor.

Definition at line 164 of file G4ExcitedBaryonConstructor.cc.

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

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

Member Data Documentation

◆ baryonNumber

const G4int G4ExcitedBaryonConstructor::baryonNumber
protected

Definition at line 71 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iConjugation

const G4int G4ExcitedBaryonConstructor::iConjugation
protected

Definition at line 68 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iGParity

const G4int G4ExcitedBaryonConstructor::iGParity
protected

Definition at line 69 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ iIsoSpin

G4int G4ExcitedBaryonConstructor::iIsoSpin
protected

Definition at line 65 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ leptonNumber

const G4int G4ExcitedBaryonConstructor::leptonNumber
protected

Definition at line 70 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().

◆ NumberOfStates

G4int G4ExcitedBaryonConstructor::NumberOfStates
protected

Definition at line 64 of file G4ExcitedBaryonConstructor.hh.

Referenced by Construct().

◆ type

const G4String G4ExcitedBaryonConstructor::type
protected

Definition at line 67 of file G4ExcitedBaryonConstructor.hh.

Referenced by ConstructAntiParticle(), and ConstructParticle().


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