ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4ResonanceNames.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ResonanceNames.cc
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
#include "
globals.hh
"
27
#include "
G4ResonanceNames.hh
"
28
#include "
G4VCrossSectionSource.hh
"
29
#include "
G4KineticTrack.hh
"
30
#include "
G4CrossSectionVector.hh
"
31
#include "
G4ParticleDefinition.hh
"
32
#include "
G4ShortLivedConstructor.hh
"
33
#include "
G4ParticleTable.hh
"
34
#include "
G4PionPlus.hh
"
35
36
G4ResonanceNames::G4ResonanceNames
()
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
();
185
G4ParticleTable
* particleTable =
G4ParticleTable::GetParticleTable
();
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
}
316
317
318
G4ResonanceNames::~G4ResonanceNames
()
319
{ }
320
321
322
G4bool
G4ResonanceNames::operator==
(
const
G4ResonanceNames
&
right
)
const
323
{
324
return
(
this
== (
G4ResonanceNames
*) &right);
325
}
326
327
328
G4bool
G4ResonanceNames::operator!=
(
const
G4ResonanceNames
&
right
)
const
329
{
330
return
(
this
!= (
G4ResonanceNames
*) &right);
331
}
332
333
334
G4double
G4ResonanceNames::MinMass
(
const
G4String
&
name
)
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
{
349
G4ParticleTable
* particleTable =
G4ParticleTable::GetParticleTable
();
350
def = particleTable->
FindParticle
(name);
351
}
352
if
(def != 0)
353
{
354
G4ParticleDefinition
*
pion
=
G4PionPlus::PionPlusDefinition
();
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
}
364
365
366
const
G4String
G4ResonanceNames::ShortName
(
const
G4String
&
name
)
367
{
368
G4String
shortName =
""
;
369
if
(
shortMap
.find(name) !=
shortMap
.end())
370
{
371
shortName =
shortMap
[
name
];
372
}
373
return
shortName;
374
}
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
im_r_matrix
src
G4ResonanceNames.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:43
using
1.8.2 with
ECCE GitHub integration