Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4ResonanceNames Class Reference

#include <G4ResonanceNames.hh>

Public Member Functions

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

Detailed Description

Definition at line 50 of file G4ResonanceNames.hh.

Constructor & Destructor Documentation

G4ResonanceNames::G4ResonanceNames ( )

Definition at line 36 of file G4ResonanceNames.cc.

References G4ShortLivedConstructor::ConstructParticle(), G4ParticleTable::FindParticle(), and G4ParticleTable::GetParticleTable().

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()
G4ResonanceNames::~G4ResonanceNames ( )

Definition at line 318 of file G4ResonanceNames.cc.

319 { }

Member Function Documentation

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

Definition at line 66 of file G4ResonanceNames.hh.

66 { return nameDelta; }
const std::vector<G4String> G4ResonanceNames::DeltastarNames ( ) const
inline

Definition at line 64 of file G4ResonanceNames.hh.

64 { return nameDeltastar; }
const std::vector<G4String> G4ResonanceNames::LambdaNames ( ) const
inline

Definition at line 68 of file G4ResonanceNames.hh.

68 { return nameLambda; }
G4double G4ResonanceNames::MinMass ( const G4String name)

Definition at line 334 of file G4ResonanceNames.cc.

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

335 {
336  // Cut, from UrQMD (reference still to be detailed)
337  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 }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4bool pion(G4int ityp)
const XML_Char * name
G4GLOB_DLL std::ostream G4cout
static G4PionPlus * PionPlusDefinition()
Definition: G4PionPlus.cc:93
G4double GetPDGMass() const
static G4ParticleTable * GetParticleTable()
#define G4endl
Definition: G4ios.hh:61
double G4double
Definition: G4Types.hh:76
const std::vector<G4String> G4ResonanceNames::NstarNames ( ) const
inline

Definition at line 62 of file G4ResonanceNames.hh.

62 { return nameNstar; }
G4bool G4ResonanceNames::operator!= ( const G4ResonanceNames right) const

Definition at line 328 of file G4ResonanceNames.cc.

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

Definition at line 322 of file G4ResonanceNames.cc.

323 {
324  return(this == (G4ResonanceNames*) &right);
325 }
const G4String G4ResonanceNames::ShortName ( const G4String name)

Definition at line 366 of file G4ResonanceNames.cc.

Referenced by G4XAnnihilationChannel::G4XAnnihilationChannel().

367 {
368  G4String shortName = "";
369  if (shortMap.find(name) != shortMap.end())
370  {
371  shortName = shortMap[name];
372  }
373  return shortName;
374 }
const XML_Char * name
const std::vector<G4String> G4ResonanceNames::SigmaNames ( ) const
inline

Definition at line 70 of file G4ResonanceNames.hh.

70 { return nameSigma; }
const std::vector<G4String> G4ResonanceNames::XiNames ( ) const
inline

Definition at line 72 of file G4ResonanceNames.hh.

72 { return nameSigma; }

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