Geant4-11
Public Member Functions | Private Member Functions | Private Attributes
G4ResonanceNames Class Reference

#include <G4ResonanceNames.hh>

Public Member Functions

const std::vector< G4StringDeltaNames () const
 
const std::vector< G4StringDeltastarNames () const
 
 G4ResonanceNames ()
 
const std::vector< G4StringLambdaNames () const
 
G4double MinMass (const G4String &name)
 
const std::vector< G4StringNstarNames () const
 
G4bool operator!= (const G4ResonanceNames &right) const
 
G4bool operator== (const G4ResonanceNames &right) const
 
const G4String ShortName (const G4String &name)
 
const std::vector< G4StringSigmaNames () const
 
const std::vector< G4StringXiNames () const
 
 ~G4ResonanceNames ()
 

Private Member Functions

 G4ResonanceNames (const G4ResonanceNames &right)
 
G4ResonanceNamesoperator= (const G4ResonanceNames &right)
 

Private Attributes

std::map< G4String, G4ParticleDefinition *, std::less< G4String > > lowResMap
 
std::vector< G4StringnameDelta
 
std::vector< G4StringnameDeltastar
 
std::vector< G4StringnameLambda
 
std::vector< G4StringnameNstar
 
std::vector< G4StringnameSigma
 
std::vector< G4StringnameXi
 
std::map< G4String, G4String, std::less< G4String > > shortMap
 

Detailed Description

Definition at line 50 of file G4ResonanceNames.hh.

Constructor & Destructor Documentation

◆ G4ResonanceNames() [1/2]

G4ResonanceNames::G4ResonanceNames ( )

Definition at line 36 of file G4ResonanceNames.cc.

37{
38 // Excited N resonances
39
40 nameNstar.push_back("N(1440)+");
41 nameNstar.push_back("N(1440)0");
42 nameNstar.push_back("N(1520)+");
43 nameNstar.push_back("N(1520)0");
44 nameNstar.push_back("N(1535)+");
45 nameNstar.push_back("N(1535)0");
46 nameNstar.push_back("N(1650)+");
47 nameNstar.push_back("N(1650)0");
48 nameNstar.push_back("N(1675)+");
49 nameNstar.push_back("N(1675)0");
50 nameNstar.push_back("N(1680)+");
51 nameNstar.push_back("N(1680)0");
52 nameNstar.push_back("N(1700)+");
53 nameNstar.push_back("N(1700)0");
54 nameNstar.push_back("N(1710)+");
55 nameNstar.push_back("N(1710)0");
56 nameNstar.push_back("N(1720)+");
57 nameNstar.push_back("N(1720)0");
58 nameNstar.push_back("N(1900)+");
59 nameNstar.push_back("N(1900)0");
60 nameNstar.push_back("N(1990)+");
61 nameNstar.push_back("N(1990)0");
62 nameNstar.push_back("N(2090)+");
63 nameNstar.push_back("N(2090)0");
64 nameNstar.push_back("N(2190)+");
65 nameNstar.push_back("N(2190)0");
66 nameNstar.push_back("N(2220)+");
67 nameNstar.push_back("N(2220)0");
68 nameNstar.push_back("N(2250)+");
69 nameNstar.push_back("N(2250)0");
70
71
72 // Delta
73
74 G4String d1232Minus("delta-");
75 G4String d1232Zero("delta0");
76 G4String d1232Plus("delta+");
77 G4String d1232PlusPlus("delta++");
78 nameDelta.push_back(d1232Minus);
79 nameDelta.push_back(d1232Zero);
80 nameDelta.push_back(d1232Plus);
81 nameDelta.push_back(d1232PlusPlus);
82
83
84 // Excited Delta resonances
85
86 nameDeltastar.push_back("delta(1600)+");
87 nameDeltastar.push_back("delta(1600)++");
88 nameDeltastar.push_back("delta(1600)-");
89 nameDeltastar.push_back("delta(1600)0");
90 nameDeltastar.push_back("delta(1620)+");
91 nameDeltastar.push_back("delta(1620)++");
92 nameDeltastar.push_back("delta(1620)-");
93 nameDeltastar.push_back("delta(1620)0");
94 nameDeltastar.push_back("delta(1700)+");
95 nameDeltastar.push_back("delta(1700)++");
96 nameDeltastar.push_back("delta(1700)-");
97 nameDeltastar.push_back("delta(1700)0");
98 nameDeltastar.push_back("delta(1900)+");
99 nameDeltastar.push_back("delta(1900)++");
100 nameDeltastar.push_back("delta(1900)-");
101 nameDeltastar.push_back("delta(1900)0");
102 nameDeltastar.push_back("delta(1905)+");
103 nameDeltastar.push_back("delta(1905)++");
104 nameDeltastar.push_back("delta(1905)-");
105 nameDeltastar.push_back("delta(1905)0");
106 nameDeltastar.push_back("delta(1910)+");
107 nameDeltastar.push_back("delta(1910)++");
108 nameDeltastar.push_back("delta(1910)-");
109 nameDeltastar.push_back("delta(1910)0");
110 nameDeltastar.push_back("delta(1920)+");
111 nameDeltastar.push_back("delta(1920)++");
112 nameDeltastar.push_back("delta(1920)-");
113 nameDeltastar.push_back("delta(1920)0");
114 nameDeltastar.push_back("delta(1930)+");
115 nameDeltastar.push_back("delta(1930)++");
116 nameDeltastar.push_back("delta(1930)-");
117 nameDeltastar.push_back("delta(1930)0");
118 nameDeltastar.push_back("delta(1950)+");
119 nameDeltastar.push_back("delta(1950)++");
120 nameDeltastar.push_back("delta(1950)-");
121 nameDeltastar.push_back("delta(1950)0");
122
123
124 // Lambda
125
126 nameLambda.push_back("lambda");
127 nameLambda.push_back("lambda(1405)");
128 nameLambda.push_back("lambda(1520)");
129 nameLambda.push_back("lambda(1600)");
130 nameLambda.push_back("lambda(1670)");
131 nameLambda.push_back("lambda(1690)");
132 nameLambda.push_back("lambda(1800)");
133 nameLambda.push_back("lambda(1810)");
134 nameLambda.push_back("lambda(1820)");
135 nameLambda.push_back("lambda(1830)");
136 nameLambda.push_back("lambda(1890)");
137 nameLambda.push_back("lambda(2100)");
138 nameLambda.push_back("lambda(2110)");
139
140
141 // Sigma
142
143 nameSigma.push_back("sigma(1385)+");
144 nameSigma.push_back("sigma(1385)-");
145 nameSigma.push_back("sigma(1385)0");
146 nameSigma.push_back("sigma(1660)+");
147 nameSigma.push_back("sigma(1660)-");
148 nameSigma.push_back("sigma(1660)0");
149 nameSigma.push_back("sigma(1670)+");
150 nameSigma.push_back("sigma(1670)-");
151 nameSigma.push_back("sigma(1670)0");
152 nameSigma.push_back("sigma(1750)+");
153 nameSigma.push_back("sigma(1750)-");
154 nameSigma.push_back("sigma(1750)0");
155 nameSigma.push_back("sigma(1775)+");
156 nameSigma.push_back("sigma(1775)-");
157 nameSigma.push_back("sigma(1775)0");
158 nameSigma.push_back("sigma(1915)+");
159 nameSigma.push_back("sigma(1915)-");
160 nameSigma.push_back("sigma(1915)0");
161 nameSigma.push_back("sigma(1940)+");
162 nameSigma.push_back("sigma(1940)-");
163 nameSigma.push_back("sigma(1940)0");
164 nameSigma.push_back("sigma(2030)+");
165 nameSigma.push_back("sigma(2030)-");
166 nameSigma.push_back("sigma(2030)0");
167
168
169 // Xi
170
171 nameXi.push_back("xi(1530)-");
172 nameXi.push_back("xi(1530)0");
173 nameXi.push_back("xi(1690)-");
174 nameXi.push_back("xi(1690)0");
175 nameXi.push_back("xi(1820)-");
176 nameXi.push_back("xi(1820)0");
177 nameXi.push_back("xi(1950)-");
178 nameXi.push_back("xi(1950)0");
179 nameXi.push_back("xi(2030)-");
180 nameXi.push_back("xi(2030)0");
181
182
183 G4ShortLivedConstructor ShortLived;
184 ShortLived.ConstructParticle();
186
187 size_t i;
188
189 // Fill a map with the lowest resonance for each category
190 for (i=0; i<nameNstar.size(); i++)
191 {
192 lowResMap[nameNstar[i]] = particleTable->FindParticle("N(1440)0");
193 }
194
195 for (i=0; i<nameDeltastar.size(); i++)
196 {
197 lowResMap[nameDeltastar[i]] = particleTable->FindParticle("delta0");
198 }
199
200 for (i=0; i<nameDelta.size(); i++)
201 {
202 lowResMap[nameDelta[i]] = particleTable->FindParticle("delta0");
203 }
204
205 for (i=0; i<nameLambda.size(); i++)
206 {
207 lowResMap[nameLambda[i]] = particleTable->FindParticle("lambda");
208 }
209
210 for (i=0; i<nameSigma.size(); i++)
211 {
212 lowResMap[nameSigma[i]] = particleTable->FindParticle("sigma0");
213 }
214
215 shortMap["N(1440)0"] = "N(1440)";
216 shortMap["N(1440)+"] = "N(1440)";
217
218 shortMap["N(1520)0"] = "N(1520)";;
219 shortMap["N(1520)+"] = "N(1520)";
220
221 shortMap["N(1535)0"] = "N(1535)";
222 shortMap["N(1535)+"] = "N(1535)";
223
224 shortMap["N(1650)0"] = "N(1650)";
225 shortMap["N(1650)+"] = "N(1650)";
226
227 shortMap["N(1675)0"] = "N(1675)";
228 shortMap["N(1675)+"] = "N(1675)";
229
230 shortMap["N(1680)0"] = "N(1680)";
231 shortMap["N(1680)+"] = "N(1680)";
232
233 shortMap["N(1700)0"] = "N(1700)";
234 shortMap["N(1700)+"] = "N(1700)";
235
236 shortMap["N(1710)0"] = "N(1710)";
237 shortMap["N(1710)+"] = "N(1710)";
238
239 shortMap["N(1720)0"] = "N(1720)";
240 shortMap["N(1720)+"] = "N(1720)";
241
242 shortMap["N(1900)0"] = "N(1900)";
243 shortMap["N(1900)+"] = "N(1900)";
244
245 shortMap["N(1990)0"] = "N(1990)";
246 shortMap["N(1990)+"] = "N(1990)";
247
248 shortMap["N(2090)0"] = "N(2090)";
249 shortMap["N(2090)+"] = "N(2090)";
250
251 shortMap["N(2190)0"] = "N(2190)";
252 shortMap["N(2190)+"] = "N(2190)";
253
254 shortMap["N(2220)0"] = "N(2220)";
255 shortMap["N(2220)+"] = "N(2220)";
256
257 shortMap["N(2250)0"] = "N(2250)";
258 shortMap["N(2250)+"] = "N(2250)";
259
260
261 // Excited Delta
262
263 shortMap["delta(1600)-"] = "delta(1600)";
264 shortMap["delta(1600)0"] = "delta(1600)";
265 shortMap["delta(1600)+"] = "delta(1600)";
266 shortMap["delta(1600)++"] = "delta(1600)";
267
268 shortMap["delta(1620)-"] = "delta(1620)";
269 shortMap["delta(1620)0"] = "delta(1620)";
270 shortMap["delta(1620)+"] = "delta(1620)";
271 shortMap["delta(1620)++"] = "delta(1620)";
272
273 shortMap["delta(1700)-"] = "delta(1700)";
274 shortMap["delta(1700)0"] = "delta(1700)";
275 shortMap["delta(1700)+"] = "delta(1700)";
276 shortMap["delta(1700)++"] = "delta(1700)";
277
278 shortMap["delta(1900)-"] = "delta(1900)";
279 shortMap["delta(1900)0"] = "delta(1900)";
280 shortMap["delta(1900)+"] = "delta(1900)";
281 shortMap["delta(1900)++"] = "delta(1900)";
282
283 shortMap["delta(1905)-"] = "delta(1905)";
284 shortMap["delta(1905)0"] = "delta(1905)";
285 shortMap["delta(1905)+"] = "delta(1905)";
286 shortMap["delta(1905)++"] = "delta(1905)";
287
288 shortMap["delta(1910)-"] = "delta(1910)";
289 shortMap["delta(1910)0"] = "delta(1910)";
290 shortMap["delta(1910)+"] = "delta(1910)";
291 shortMap["delta(1910)++"] = "delta(1910)";
292
293 shortMap["delta(1920)-"] = "delta(1920)";
294 shortMap["delta(1920)0"] = "delta(1920)";
295 shortMap["delta(1920)+"] = "delta(1920)";
296 shortMap["delta(1920)++"] = "delta(1920)";
297
298 shortMap["delta(1930)-"] = "delta(1930)";
299 shortMap["delta(1930)0"] = "delta(1930)";
300 shortMap["delta(1930)+"] = "delta(1930)";
301 shortMap["delta(1930)++"] = "delta(1930)";
302
303 shortMap["delta(1950)-"] = "delta(1950)";
304 shortMap["delta(1950)0"] = "delta(1950)";
305 shortMap["delta(1950)+"] = "delta(1950)";
306 shortMap["delta(1950)++"] = "delta(1950)";
307
308 // Delta
309
310 shortMap["delta-"] = "delta";
311 shortMap["delta0"] = "delta";
312 shortMap["delta+"] = "delta";
313 shortMap["delta++"] = "delta";
314
315}
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()
std::vector< G4String > nameLambda
std::vector< G4String > nameXi
std::vector< G4String > nameSigma
std::vector< G4String > nameDeltastar
std::map< G4String, G4String, std::less< G4String > > shortMap
std::map< G4String, G4ParticleDefinition *, std::less< G4String > > lowResMap
std::vector< G4String > nameNstar
std::vector< G4String > nameDelta

References G4ShortLivedConstructor::ConstructParticle(), G4ParticleTable::FindParticle(), G4ParticleTable::GetParticleTable(), lowResMap, nameDelta, nameDeltastar, nameLambda, nameNstar, nameSigma, nameXi, and shortMap.

◆ ~G4ResonanceNames()

G4ResonanceNames::~G4ResonanceNames ( )

Definition at line 318 of file G4ResonanceNames.cc.

319{ }

◆ G4ResonanceNames() [2/2]

G4ResonanceNames::G4ResonanceNames ( const G4ResonanceNames right)
private

Member Function Documentation

◆ DeltaNames()

const std::vector< G4String > G4ResonanceNames::DeltaNames ( ) const
inline

Definition at line 66 of file G4ResonanceNames.hh.

66{ return nameDelta; }

References nameDelta.

◆ DeltastarNames()

const std::vector< G4String > G4ResonanceNames::DeltastarNames ( ) const
inline

Definition at line 64 of file G4ResonanceNames.hh.

64{ return nameDeltastar; }

References nameDeltastar.

◆ LambdaNames()

const std::vector< G4String > G4ResonanceNames::LambdaNames ( ) const
inline

Definition at line 68 of file G4ResonanceNames.hh.

68{ return nameLambda; }

References nameLambda.

◆ MinMass()

G4double G4ResonanceNames::MinMass ( const G4String name)

Definition at line 334 of file G4ResonanceNames.cc.

335{
336 // Cut, from UrQMD (reference still to be detailed)
337 static const G4double coeff = 0.001;
338
339 G4double lowMass = 0.;
340
341 G4ParticleDefinition* def = 0;
342
343 if (lowResMap.find(name) != lowResMap.end())
344 {
345 def = lowResMap[name];
346 }
347 else
348 {
350 def = particleTable->FindParticle(name);
351 }
352 if (def != 0)
353 {
355 lowMass = (1. + coeff) * def->GetPDGMass() + pion->GetPDGMass();
356 }
357 else
358 {
359 G4cout << "G4ResonanceNames::MinMass - " << name << " not found" << G4endl;
360 throw G4HadronicException(__FILE__, __LINE__, "G4ResonanceNames::MinMass - resonance name not found");
361 }
362 return lowMass;
363}
double G4double
Definition: G4Types.hh:83
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static G4PionPlus * PionPlusDefinition()
Definition: G4PionPlus.cc:92
const char * name(G4int ptype)
G4bool pion(G4int ityp)

References G4ParticleTable::FindParticle(), G4cout, G4endl, G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), lowResMap, G4InuclParticleNames::name(), G4InuclParticleNames::pion(), and G4PionPlus::PionPlusDefinition().

◆ NstarNames()

const std::vector< G4String > G4ResonanceNames::NstarNames ( ) const
inline

Definition at line 62 of file G4ResonanceNames.hh.

62{ return nameNstar; }

References nameNstar.

◆ operator!=()

G4bool G4ResonanceNames::operator!= ( const G4ResonanceNames right) const

Definition at line 328 of file G4ResonanceNames.cc.

329{
330 return (this != (G4ResonanceNames*) &right);
331}

◆ operator=()

G4ResonanceNames & G4ResonanceNames::operator= ( const G4ResonanceNames right)
private

◆ operator==()

G4bool G4ResonanceNames::operator== ( const G4ResonanceNames right) const

Definition at line 322 of file G4ResonanceNames.cc.

323{
324 return(this == (G4ResonanceNames*) &right);
325}

◆ ShortName()

const G4String G4ResonanceNames::ShortName ( const G4String name)

Definition at line 366 of file G4ResonanceNames.cc.

367{
368 G4String shortName = "";
369 if (shortMap.find(name) != shortMap.end())
370 {
371 shortName = shortMap[name];
372 }
373 return shortName;
374}

References G4InuclParticleNames::name(), and shortMap.

Referenced by G4XAnnihilationChannel::G4XAnnihilationChannel().

◆ SigmaNames()

const std::vector< G4String > G4ResonanceNames::SigmaNames ( ) const
inline

Definition at line 70 of file G4ResonanceNames.hh.

70{ return nameSigma; }

References nameSigma.

◆ XiNames()

const std::vector< G4String > G4ResonanceNames::XiNames ( ) const
inline

Definition at line 72 of file G4ResonanceNames.hh.

72{ return nameSigma; }

References nameSigma.

Field Documentation

◆ lowResMap

std::map<G4String, G4ParticleDefinition*, std::less<G4String> > G4ResonanceNames::lowResMap
private

Definition at line 94 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames(), and MinMass().

◆ nameDelta

std::vector<G4String> G4ResonanceNames::nameDelta
private

Definition at line 88 of file G4ResonanceNames.hh.

Referenced by DeltaNames(), and G4ResonanceNames().

◆ nameDeltastar

std::vector<G4String> G4ResonanceNames::nameDeltastar
private

Definition at line 87 of file G4ResonanceNames.hh.

Referenced by DeltastarNames(), and G4ResonanceNames().

◆ nameLambda

std::vector<G4String> G4ResonanceNames::nameLambda
private

Definition at line 89 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames(), and LambdaNames().

◆ nameNstar

std::vector<G4String> G4ResonanceNames::nameNstar
private

Definition at line 86 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames(), and NstarNames().

◆ nameSigma

std::vector<G4String> G4ResonanceNames::nameSigma
private

Definition at line 90 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames(), SigmaNames(), and XiNames().

◆ nameXi

std::vector<G4String> G4ResonanceNames::nameXi
private

Definition at line 91 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames().

◆ shortMap

std::map<G4String, G4String, std::less<G4String> > G4ResonanceNames::shortMap
private

Definition at line 97 of file G4ResonanceNames.hh.

Referenced by G4ResonanceNames(), and ShortName().


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