BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
BesShortLivedConstructor Class Reference

#include <BesShortLivedConstructor.hh>

Public Member Functions

 BesShortLivedConstructor ()
 ~BesShortLivedConstructor ()
void ConstructParticle ()
 BesShortLivedConstructor ()
 ~BesShortLivedConstructor ()
void ConstructParticle ()
 BesShortLivedConstructor ()
 ~BesShortLivedConstructor ()
void ConstructParticle ()

Protected Member Functions

void ConstructResonances ()
void ConstructBaryons ()
void ConstructMesons ()
void ConstructResonances ()
void ConstructBaryons ()
void ConstructMesons ()
void ConstructResonances ()
void ConstructBaryons ()
void ConstructMesons ()

Detailed Description

Constructor & Destructor Documentation

◆ BesShortLivedConstructor() [1/3]

BesShortLivedConstructor::BesShortLivedConstructor ( )

Definition at line 24 of file BesShortLivedConstructor.cc.

24{}

◆ ~BesShortLivedConstructor() [1/3]

BesShortLivedConstructor::~BesShortLivedConstructor ( )

Definition at line 26 of file BesShortLivedConstructor.cc.

26{}

◆ BesShortLivedConstructor() [2/3]

BesShortLivedConstructor::BesShortLivedConstructor ( )

◆ ~BesShortLivedConstructor() [2/3]

BesShortLivedConstructor::~BesShortLivedConstructor ( )

◆ BesShortLivedConstructor() [3/3]

BesShortLivedConstructor::BesShortLivedConstructor ( )

◆ ~BesShortLivedConstructor() [3/3]

BesShortLivedConstructor::~BesShortLivedConstructor ( )

Member Function Documentation

◆ ConstructBaryons() [1/3]

void BesShortLivedConstructor::ConstructBaryons ( )
protected

Definition at line 72 of file BesShortLivedConstructor.cc.

72 {
73 G4DecayTable* decayTable;
74 G4VDecayChannel* mode;
75 G4ExcitedBaryons* particle;
76
77 // Construct Resonace particles as dynamic object
78 // Arguments for constructor are as follows
79 // name mass width charge
80 // 2*spin parity C-conjugation
81 // 2*Isospin 2*Isospin3 G-parity
82 // type lepton number baryon number PDG encoding
83 // stable lifetime decay table
84
85 // delta baryons
86 // delta(1232)++
87 particle = new G4ExcitedBaryons( "delta++", 1.232 * GeV, 115.0 * MeV, +2.0 * eplus, 3, +1, 0,
88 3, +3, 0, "baryon", 0, +1, 2224, false, 0.0, NULL );
89 // set sub type
90 particle->SetMultipletName( "delta" );
91 // create decay table
92 decayTable = new G4DecayTable();
93 // create decay channel of delta++ -> proton + pi+
94 // parent BR #daughters
95 mode = new G4PhaseSpaceDecayChannel( "delta++", 1.000, 2, "proton", "pi+" );
96 // add decay table
97 decayTable->Insert( mode );
98 particle->SetDecayTable( decayTable );
99
100 // delta(1232)+
101 particle = new G4ExcitedBaryons( "delta+", 1.232 * GeV, 115.0 * MeV, +1.0 * eplus, 3, +1, 0,
102 3, +1, 0, "baryon", 0, +1, 2214, false, 0.0, NULL );
103 // set sub type
104 particle->SetMultipletName( "delta(1232)" );
105 // create decay table
106 decayTable = new G4DecayTable();
107 // create decay channel of delta+ -> proton + Gamma
108 // parent BR #daughters
109 mode = new G4PhaseSpaceDecayChannel( "delta+", 0.01, 2, "proton", "gamma" );
110 decayTable->Insert( mode );
111 // create decay channel of delta+ -> neutron + pi+
112 // parent BR #daughters
113 // create decay channel of delta+ -> proton + pi0
114 // parent BR #daughters
115 mode = new G4PhaseSpaceDecayChannel( "delta+", 0.495, 2, "proton", "pi0" );
116 decayTable->Insert( mode );
117 // create decay channel of delta+ -> neutron + pi+
118 // parent BR #daughters
119 mode = new G4PhaseSpaceDecayChannel( "delta+", 0.495, 2, "neutron", "pi+" );
120 decayTable->Insert( mode );
121 particle->SetDecayTable( decayTable );
122
123 // delta(1232)0
124 particle = new G4ExcitedBaryons( "delta0", 1.232 * GeV, 115.0 * MeV, +0.0 * eplus, 3, +1, 0,
125 3, -1, 0, "baryon", 0, +1, 2114, false, 0.0, NULL );
126 // set sub type
127 particle->SetMultipletName( "delta(1232)" );
128 // create decay table
129 decayTable = new G4DecayTable();
130 // create decay channel of delta+ -> neutron + gamma
131 // parent BR #daughters
132 mode = new G4PhaseSpaceDecayChannel( "delta0", 0.01, 2, "neutron", "gamma" );
133 decayTable->Insert( mode );
134 // create decay channel of delta+ -> proton + pi-
135 // parent BR #daughters
136 mode = new G4PhaseSpaceDecayChannel( "delta0", 0.495, 2, "proton", "pi-" );
137 decayTable->Insert( mode );
138 // create decay channel of delta+ -> neutron + pi0
139 // parent BR #daughters
140 mode = new G4PhaseSpaceDecayChannel( "delta0", 0.495, 2, "neutron", "pi0" );
141 decayTable->Insert( mode );
142 particle->SetDecayTable( decayTable );
143
144 // delta(1232)-
145 particle = new G4ExcitedBaryons( "delta-", 1.232 * GeV, 115.0 * MeV, -1.0 * eplus, 3, +1, 0,
146 3, -3, 0, "baryon", 0, +1, 1114, false, 0.0, NULL );
147 // set sub type
148 particle->SetMultipletName( "delta(1232)" );
149 // create decay table
150 decayTable = new G4DecayTable();
151 // create decay channel of delta+ -> neutron + pi-
152 // parent BR #daughters
153 mode = new G4PhaseSpaceDecayChannel( "delta-", 1.000, 2, "neutron", "pi-" );
154 decayTable->Insert( mode );
155 particle->SetDecayTable( decayTable );
156
157 ////////////////////////////
158 // anti_delta baryons
159 // anti_delta(1232)++
160 particle = new G4ExcitedBaryons( "anti_delta++", 1.232 * GeV, 115.0 * MeV, -2.0 * eplus, 3,
161 +1, 0, 3, -3, 0, "baryon", 0, -1, -2224, false, 0.0, NULL );
162 // set sub type
163 particle->SetMultipletName( "delta(1232)" );
164 // create decay table
165 decayTable = new G4DecayTable();
166 // create decay channel of delta++ -> anti_proton + pi-
167 // parent BR #daughters
168 mode = new G4PhaseSpaceDecayChannel( "anti_delta++", 1.000, 2, "anti_proton", "pi-" );
169 // add decay table
170 decayTable->Insert( mode );
171 particle->SetDecayTable( decayTable );
172
173 // anti_delta(1232)+
174 particle = new G4ExcitedBaryons( "anti_delta+", 1.232 * GeV, 115.0 * MeV, -1.0 * eplus, 3,
175 +1, 0, 3, -1, 0, "baryon", 0, -1, -2214, false, 0.0, NULL );
176 // set sub type
177 particle->SetMultipletName( "delta(1232)" );
178 // create decay table
179 decayTable = new G4DecayTable();
180 // create decay channel of anti_delta+ -> anti_proton + pi0
181 // parent BR #daughters
182 mode = new G4PhaseSpaceDecayChannel( "anti_delta+", 0.500, 2, "anti_proton", "pi0" );
183 decayTable->Insert( mode );
184 // create decay channel of anti_delta+ -> anti_neutron + pi-
185 // parent BR #daughters
186 mode = new G4PhaseSpaceDecayChannel( "anti_delta+", 0.500, 2, "anti_neutron", "pi-" );
187 decayTable->Insert( mode );
188 particle->SetDecayTable( decayTable );
189
190 // anti_delta(1232)0
191 particle = new G4ExcitedBaryons( "anti_delta0", 1.232 * GeV, 115.0 * MeV, +0.0 * eplus, 3,
192 +1, 0, 3, +1, 0, "baryon", 0, -1, -2114, false, 0.0, NULL );
193 // set sub type
194 particle->SetMultipletName( "delta(1232)" );
195 // create decay table
196 decayTable = new G4DecayTable();
197 // create decay channel of anti_delta+ -> anti_proton + pi+
198 // parent BR #daughters
199 mode = new G4PhaseSpaceDecayChannel( "anti_delta0", 0.500, 2, "anti_proton", "pi+" );
200 decayTable->Insert( mode );
201 // create decay channel of delta+ -> neutron + pi0
202 // parent BR #daughters
203 mode = new G4PhaseSpaceDecayChannel( "anti_delta0", 0.500, 2, "anti_neutron", "pi0" );
204 decayTable->Insert( mode );
205 particle->SetDecayTable( decayTable );
206
207 // anti_delta(1232)-
208 particle = new G4ExcitedBaryons( "anti_delta-", 1.232 * GeV, 115.0 * MeV, +1.0 * eplus, 3,
209 +1, 0, 3, +3, 0, "baryon", 0, -1, -1114, false, 0.0, NULL );
210 // set sub type
211 particle->SetMultipletName( "delta(1232)" );
212 // create decay table
213 decayTable = new G4DecayTable();
214 // create decay channel of delta- -> neutron + pi+
215 // parent BR #daughters
216 mode = new G4PhaseSpaceDecayChannel( "anti_delta-", 1.000, 2, "anti_neutron", "pi+" );
217 decayTable->Insert( mode );
218 particle->SetDecayTable( decayTable );
219}

Referenced by ConstructResonances().

◆ ConstructBaryons() [2/3]

void BesShortLivedConstructor::ConstructBaryons ( )
protected

◆ ConstructBaryons() [3/3]

void BesShortLivedConstructor::ConstructBaryons ( )
protected

◆ ConstructMesons() [1/3]

void BesShortLivedConstructor::ConstructMesons ( )
protected

Definition at line 221 of file BesShortLivedConstructor.cc.

221 {
222 G4DecayTable* decayTable;
223 G4VDecayChannel* mode;
224 G4ExcitedMesons* particle;
225
226 // Construct Resonace particles as dynamic object
227 // Arguments for constructor are as follows
228 // name mass width charge
229 // 2*spin parity C-conjugation
230 // 2*Isospin 2*Isospin3 G-parity
231 // type lepton number baryon number PDG encoding
232 // stable lifetime decay table
233
234 // vector mesons
235 // omega
236 particle = new G4ExcitedMesons( "omega", 781.94 * MeV, 8.41 * MeV, +0.0 * eplus, 2, -1, -1,
237 0, +0, -1, "meson", 0, 0, 223, false, 0.0, NULL );
238 particle->SetAntiPDGEncoding( 223 );
239 // set sub type
240 particle->SetMultipletName( "omega" );
241 // create decay table
242 decayTable = new G4DecayTable();
243 // create decay channel of omega -> pi+ + pi- + pi0
244 // parent BR #daughters
245 mode = new G4PhaseSpaceDecayChannel( "omega", 0.888, 3, "pi+", "pi-", "pi0" );
246 // add decay table
247 decayTable->Insert( mode );
248 particle->SetDecayTable( decayTable );
249
250 // phi
251 particle = new G4ExcitedMesons( "phi", 1019.4 * MeV, 4.43 * MeV, +0.0 * eplus, 2, -1, -1, 0,
252 +0, -1, "meson", 0, 0, 333, false, 0.0, NULL );
253 particle->SetAntiPDGEncoding( 333 );
254 // set sub type
255 particle->SetMultipletName( "phi" );
256 // create decay table
257 decayTable = new G4DecayTable();
258 // create decay channel of phi -> kaon+ + kaon-
259 // parent BR #daughters
260 mode = new G4PhaseSpaceDecayChannel( "phi", 0.491, 2, "kaon+", "kaon-" );
261 decayTable->Insert( mode );
262 // create decay channel of phi -> kaon0S + kaon0L
263 // parent BR #daughters
264 mode = new G4PhaseSpaceDecayChannel( "phi", 0.343, 2, "kaon0S", "kaon0L" );
265 // add decay table
266 decayTable->Insert( mode );
267 // create decay channel of phi -> rho0 + pi0
268 // parent BR #daughters
269 mode = new G4PhaseSpaceDecayChannel( "phi", 0.129, 2, "rho0", "pi0" );
270 // add decay table
271 decayTable->Insert( mode );
272 particle->SetDecayTable( decayTable );
273
274 // rho+
275 particle = new G4ExcitedMesons( "rho+", 769.9 * MeV, 151.2 * MeV, +1.0 * eplus, 2, -1, -1, 2,
276 +2, +1, "meson", 0, 0, 213, false, 0.0, NULL );
277 // set sub type
278 particle->SetMultipletName( "rho" );
279 // create decay table
280 decayTable = new G4DecayTable();
281 // create decay channel of rho+ -> pi+ + pi0
282 // parent BR #daughters
283 mode = new G4PhaseSpaceDecayChannel( "rho+", 1.000, 2, "pi+", "pi0" );
284 // add decay table
285 decayTable->Insert( mode );
286 particle->SetDecayTable( decayTable );
287
288 // rho-
289 particle = new G4ExcitedMesons( "rho-", 769.9 * MeV, 151.2 * MeV, -1.0 * eplus, 2, -1, -1, 2,
290 -2, +1, "meson", 0, 0, -213, false, 0.0, NULL );
291 // set sub type
292 particle->SetMultipletName( "rho" );
293 // create decay table
294 decayTable = new G4DecayTable();
295 // create decay channel of rho- -> pi- + pi0
296 // parent BR #daughters
297 mode = new G4PhaseSpaceDecayChannel( "rho-", 1.000, 2, "pi-", "pi0" );
298 // add decay table
299 decayTable->Insert( mode );
300 particle->SetDecayTable( decayTable );
301
302 // rho0
303 particle = new G4ExcitedMesons( "rho0", 770.0 * MeV, 150.7 * MeV, 0.0, 2, -1, -1, 2, 0, +1,
304 "meson", 0, 0, 113, false, 0.0 * ns, NULL );
305 particle->SetAntiPDGEncoding( 113 );
306 // set sub type
307 particle->SetMultipletName( "rho" );
308 // create decay table
309 decayTable = new G4DecayTable();
310 // create decay channel of rho0 -> pi+ + pi-
311 // parent BR #daughters
312 mode = new G4PhaseSpaceDecayChannel( "rho0", 1.000, 2, "pi+", "pi-" );
313 // add decay table
314 decayTable->Insert( mode );
315 particle->SetDecayTable( decayTable );
316
317 // a0(980)+
318 particle = new G4ExcitedMesons( "a0(980)+", 984.8 * MeV, 60.0 * MeV, +1.0 * eplus, 0, +1, +1,
319 2, +2, -1, "meson", 0, 0, 9000211, false, 0.0, NULL );
320 // set sub type
321 particle->SetMultipletName( "a0(980)" );
322 // create decay table
323 decayTable = new G4DecayTable();
324 // create decay channel of a0(980)+ -> eta + pi+
325 // parent BR #daughters
326 mode = new G4PhaseSpaceDecayChannel( "a0(980)+", 1.000, 2, "pi+", "eta" );
327 // add decay table
328 decayTable->Insert( mode );
329 particle->SetDecayTable( decayTable );
330
331 // a0(980)-
332 particle = new G4ExcitedMesons( "a0(980)-", 984.8 * MeV, 60.0 * MeV, -1.0 * eplus, 0, +1, +1,
333 2, -2, -1, "meson", 0, 0, -9000211, false, 0.0, NULL );
334 // set sub type
335 particle->SetMultipletName( "a0(980)" );
336 // create decay table
337 decayTable = new G4DecayTable();
338 // create decay channel of a0(980)- -> eta + pi-
339 // parent BR #daughters
340 mode = new G4PhaseSpaceDecayChannel( "a0(980)-", 1.000, 2, "pi-", "eta" );
341 // add decay table
342 decayTable->Insert( mode );
343 particle->SetDecayTable( decayTable );
344
345 // a0(980)0
346 particle = new G4ExcitedMesons( "a0(980)0", 984.8 * MeV, 60.0 * MeV, 0.0, 0, +1, +1, 2, 0,
347 -1, "meson", 0, 0, 9000111, false, 0.0, NULL );
348 particle->SetAntiPDGEncoding( 9000111 );
349 // set sub type
350 particle->SetMultipletName( "a0(980)" );
351 // create decay table
352 decayTable = new G4DecayTable();
353 // create decay channel of a0(980)0 -> eta + pi0
354 // parent BR #daughters
355 mode = new G4PhaseSpaceDecayChannel( "a0(980)0", 1.000, 2, "pi0", "eta" );
356 // add decay table
357 decayTable->Insert( mode );
358 particle->SetDecayTable( decayTable );
359
360 // f0(400-1200)
361 particle = new G4ExcitedMesons( "f0(400-1200)", 470.0 * MeV, 400.0 * MeV, 0.0, 0, +1, +1, 0,
362 0, +1, "meson", 0, 0, 9000221, false, 0.0, NULL );
363 particle->SetAntiPDGEncoding( 9000221 );
364 // set sub type
365 particle->SetMultipletName( "f0(400-1200)" );
366 // create decay table
367 decayTable = new G4DecayTable();
368 // create decay channel of f0(400-1200) -> pi + pi
369 // parent BR #daughters
370 mode = new G4PhaseSpaceDecayChannel( "f0(400-1200)", 1.000, 2, "pi+", "pi-" );
371 // add decay table
372 decayTable->Insert( mode );
373 particle->SetDecayTable( decayTable );
374
375 // f0(980)
376 particle = new G4ExcitedMesons( "f0(980)", 980.0 * MeV, 40.0 * MeV, 0.0, 0, +1, +1, 0, 0, +1,
377 "meson", 0, 0, 9010221, false, 0.0, NULL );
378 particle->SetAntiPDGEncoding( 9010221 );
379 // set sub type
380 particle->SetMultipletName( "f0(980)" );
381 // create decay table
382 decayTable = new G4DecayTable();
383 // create decay channel of f0(980) -> pi + pi
384 // parent BR #daughters
385 mode = new G4PhaseSpaceDecayChannel( "f0(980)", 1.000, 2, "pi+", "pi-" );
386 // add decay table
387 decayTable->Insert( mode );
388 particle->SetDecayTable( decayTable );
389
390 // k_star+
391 particle = new G4ExcitedMesons( "k_star+", 891.6 * MeV, 50.8 * MeV, +1.0 * eplus, 2, -1, 0,
392 1, +1, 0, "meson", 0, 0, 323, false, 0.0, NULL );
393 // set sub type
394 particle->SetMultipletName( "k_star" );
395 // create decay table
396 decayTable = new G4DecayTable();
397 // create decay channel of k_star+ -> kaon+ + pi0
398 // parent BR #daughters
399 mode = new G4PhaseSpaceDecayChannel( "k_star+", 0.500, 2, "kaon+", "pi0" );
400 // add decay table
401 decayTable->Insert( mode );
402 // create decay channel of k_star+ -> kaon+ + pi0
403 // parent BR #daughters
404 mode = new G4PhaseSpaceDecayChannel( "k_star+", 0.500, 2, "kaon0", "pi+" );
405 // add decay table
406 decayTable->Insert( mode );
407 particle->SetDecayTable( decayTable );
408
409 // k_star0
410 particle = new G4ExcitedMesons( "k_star0", 896.1 * MeV, 50.5 * MeV, 0.0 * eplus, 2, -1, 0, 1,
411 -1, 0, "meson", 0, 0, 313, false, 0.0, NULL );
412 // set sub type
413 particle->SetMultipletName( "k_star" );
414 // create decay table
415 decayTable = new G4DecayTable();
416 // create decay channel of k_star0 -> kaon+ + pi-
417 // parent BR #daughters
418 mode = new G4PhaseSpaceDecayChannel( "k_star0", 0.500, 2, "kaon+", "pi-" );
419 // add decay table
420 decayTable->Insert( mode );
421 // create decay channel of k_star0 -> kaon0 + pi0
422 // parent BR #daughters
423 mode = new G4PhaseSpaceDecayChannel( "k_star0", 0.500, 2, "kaon0", "pi0" );
424 // add decay table
425 decayTable->Insert( mode );
426 particle->SetDecayTable( decayTable );
427
428 // k_star-
429 particle = new G4ExcitedMesons( "k_star-", 891.6 * MeV, 50.8 * MeV, -1.0 * eplus, 2, -1, 0,
430 1, +1, 0, "meson", 0, 0, -323, false, 0.0, NULL );
431 // set sub type
432 particle->SetMultipletName( "k_star" );
433 // create decay table
434 decayTable = new G4DecayTable();
435 // create decay channel of k_star- -> kaon- + pi0
436 // parent BR #daughters
437 mode = new G4PhaseSpaceDecayChannel( "k_star-", 0.500, 2, "kaon-", "pi0" );
438 // add decay table
439 decayTable->Insert( mode );
440 // create decay channel of k_star- -> anti_kaon0 + pi0
441 // parent BR #daughters
442 mode = new G4PhaseSpaceDecayChannel( "k_star-", 0.500, 2, "anti_kaon0", "pi+" );
443 // add decay table
444 decayTable->Insert( mode );
445 particle->SetDecayTable( decayTable );
446
447 // anti_k_star0
448 particle = new G4ExcitedMesons( "anti_k_star0", 896.1 * MeV, 50.5 * MeV, 0.0 * eplus, 2, -1,
449 0, 1, -1, 0, "meson", 0, 0, -313, false, 0.0, NULL );
450 // set sub type
451 particle->SetMultipletName( "k_star" );
452 // create decay table
453 decayTable = new G4DecayTable();
454 // create decay channel of anti_k_star0 -> kaon- + pi+
455 // parent BR #daughters
456 mode = new G4PhaseSpaceDecayChannel( "anti_k_star0", 0.500, 2, "kaon-", "pi+" );
457 // add decay table
458 decayTable->Insert( mode );
459 // create decay channel of anti_k_star0 -> anti_kaon0 + pi0
460 // parent BR #daughters
461 mode = new G4PhaseSpaceDecayChannel( "anti_k_star0", 0.500, 2, "anti_kaon0", "pi0" );
462 // add decay table
463 decayTable->Insert( mode );
464 particle->SetDecayTable( decayTable );
465}
#define ns(x)
Definition xmltok.c:1355

Referenced by ConstructResonances().

◆ ConstructMesons() [2/3]

void BesShortLivedConstructor::ConstructMesons ( )
protected

◆ ConstructMesons() [3/3]

void BesShortLivedConstructor::ConstructMesons ( )
protected

◆ ConstructParticle() [1/3]

void BesShortLivedConstructor::ConstructParticle ( )

Definition at line 28 of file BesShortLivedConstructor.cc.

28 {
29 if ( !isConstructed )
30 {
32 isConstructed = true;
33 }
34}

◆ ConstructParticle() [2/3]

void BesShortLivedConstructor::ConstructParticle ( )

◆ ConstructParticle() [3/3]

void BesShortLivedConstructor::ConstructParticle ( )

◆ ConstructResonances() [1/3]

void BesShortLivedConstructor::ConstructResonances ( )
protected

Definition at line 42 of file BesShortLivedConstructor.cc.

42 {
45
46 // N*
47 G4ExcitedNucleonConstructor nucleons;
48 nucleons.Construct();
49
50 // Delta*
51 G4ExcitedDeltaConstructor deltas;
52 deltas.Construct();
53
54 // Lambda*
55 G4ExcitedLambdaConstructor lamdas;
56 lamdas.Construct();
57
58 // Sigma*
59 G4ExcitedSigmaConstructor sigmas;
60 sigmas.Construct();
61
62 // Xi*
63 G4ExcitedXiConstructor xis;
64 xis.Construct();
65
66 // Mesons
67 G4ExcitedMesonConstructor mesons;
68 mesons.Construct();
69}

Referenced by ConstructParticle().

◆ ConstructResonances() [2/3]

void BesShortLivedConstructor::ConstructResonances ( )
protected

◆ ConstructResonances() [3/3]

void BesShortLivedConstructor::ConstructResonances ( )
protected

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