forked from Geant4/geant4
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBeta4.10.6-1.txt
More file actions
685 lines (650 loc) · 34.7 KB
/
Beta4.10.6-1.txt
File metadata and controls
685 lines (650 loc) · 34.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
Geant4 10.6-beta-01 Release Notes
---------------------------------
28 June 2019
Migration Notes & Main New Features
-----------------------------------
o Promoting pre-processor flags to fixed #defines in a new header
generated by CMake, reducing flags added to CMAKE_CXX_FLAGS.
o Reviewed G4PhysicsVector adding an additional Value() method option to
propagate down the known log-energy value. This helps avoiding log() calls
when log-vector is used.
o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
o Added support for writing out assemblies envelopes in GDML.
o Added functionality in G4DynamicParticle to provide log-kinetic energy
value, computed only on demand if its stored value is not up-to-date with
the kinetic energy. Reviewed EM processes to select the target atom by
making use of the already known log-energy value in the log-vector access.
Providing measurable CPU speedup.
o Optimised step limitation in G4UrbanMscModel and modified lateral
displacement sampling.
o New helper class G4NIELCalculator, to compute NIEL in user stepping
action or sensitive detector code.
o Cross-sections: high energy extension of the neutrino-electron cross
sections, for both charged-current and neutral-current interactions
(M_W and M_Z propagator factors and Glashow resonance), for all neutrino
and anti-neutrino flavours.
o Extended hadron-nucleon cross-sections to charmed and bottom hadrons
(mesons and baryons).
o Use Glauber-Gribov cross-section for hyperons in hadron elastic physics.
o Added handling of UI thermalization model control in DNA physics lists.
o Removed tracking cut in hadron-elastic and use numerically safer
computation for very low-energy projectile.
o Use FTFP also for the annihilation at rest of neutral anti-hadrons.
o Added spontaneous fission channel in radioactive-decay.
o Enhanced UI commands to now return proper return code when they are not
successful.
o Added new gamma-nuclear model based on pre-compound de-excitation
o New set of UI commands and improvements in visualization.
Added new UI commands for view interpolation and centering.
o Introducing cloud drawing style in visualization, using kernel algorithms
for generating points on the surface of volumes, by-passing polyhedral
representations; the solid is being visualised by a polymarker of dots.
o Porting of code on gcc-9.1 series.
o Updated to CLHEP version 2.4.1.2.
o New data sets G4PARTICLEXS-2.0.
----------------------------------------------------------------------------
Technical Notes
---------------
o Tested platforms:
+ Linux, gcc-4.8.5.
Tested on 64 bit architectures (Intel or AMD) with CERN CentOS
Linux 7 (CC7) (based on CentOS Linux 7).
Versions of Geant4 have also been compiled successfully on other
Linux distributions, Ubuntu, Debian, Suse or other RedHat systems.
+ MacOSX 10.14, clang-6.0 (Apple LLVM/Clang-10.0.1)
+ Windows/10 with Visual C++ 14.11 (Visual Studio 2017)
o More verified configurations:
+ Linux, gcc-4.9.3/5.4.0/6.3.0/7.3.0/8.2.0/9.1.0, clang-5.0/7.0.
+ Linux, Intel-icc 19.0.
+ MacOSX 10.12/13 with clang-3.9/4.0
o External dependencies
+ CLHEP-2.4.1.2, suggested for external installation of the CLHEP library.
+ VecGeom-1.1.2, for optional use of the VecGeom geometry primitives.
o New data sets:
+ G4PARTICLEXS-2.0.
Please refer to the Geant4 User Documentation:
http://cern.ch/geant4/support/userdocuments.shtml
for further information about using Geant4.
----------------------------------------------------------------------------
List of features and fixes included in this Beta release since 10.5.p01:
o Configuration:
-------------
+ CMake:
o Removed obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
and associated configuration/compiler flags.
o Promoting following pre-processor flags to fixed #defines in a new
header generated by CMake using the chosen build options to
#define/#undef as appropriate: G4USE_STD11, G4MULTITHREADED,
G4_STORE_TRAJECTORY, G4VERBOSE, GEANT4_USE_TIMEMORY.
Promoted VecGeom pre-processor flags to fixed #defines as well.
Ensuring the header is included by primary "global" category headers
so that all categories will pick up the changes transparently.
Removed use of add_definitions of CMAKE_CXX_FLAGS to set these flags
in Geant4 and client scripts.
o Removed G4FPE_DEBUG from build mode "Debug". Added new build mode
"Debug_FPE" same as "Debug" mode but appending -DG4FPE_DEBUG.
o Updated version of data sets: G4PARTICLEXS-2.0.
Updated tags for 10.6-beta.
+ GNUMake:
o Hard-code Qt version through QT_VERSION flag.
Corrected Qt5 setup for Linux-g++ and Linux-clang.
o architecture.gmk: added -DG4GMAKE to CPPFLAGS to identify enabling
of GNUmake builds.
o Analysis:
--------
+ Fixed CSV, XML ntuple file names.
o Digits & Hits:
-------------
+ G4PSSphereSurfaceFlux: fixed track weight.
o Event:
-----
+ G4SPSPosDistribution: added accessor methods for volume confinement
Addressing GitHub PR #7.
o Externals:
---------
+ Updated CLHEP module to version 2.4.1.2:
o MixMaxRng: throw if seed is zero. Use throw instead of exit()
elsewhere.
Defaulted operator=() also for BasicVector3D andPlan3D; fixing
deprecation warnings on gcc-9.1.
Fixed shadowing compilation warnings in Transform3D as reported
on gcc-9.1.
o Geometry:
--------
+ divisions:
o Return correct value for multiplicity in G4PVDivision and
G4ReplicatedSlice. Addressing problem report #2168.
+ magneticfield:
o G4ChordFinder: changed to use concrete type of Stepper as template
parameter.
o G4InterpolationDriver: new revision with multiple steppers for
each substep. Fixed memory churn; use FSAL property of
G4DormandPrince745. Change from G4VERBOSE to G4FIELD_DEBUG for
debug checks.
o Removed division in G4DormandPrince745::Interpolate4thOrder().
o Reset step estimate in G4MagInt_Driver only at the beginning of a
track.
+ management:
o G4GeomSplitter: re-enabled use or realloc()/free() and memcpy(), after
adapting G4VPhysicalVolume MT splitted data to adopt only trivial types
for allocation. Re-establishing original performance in initialisation
of the geometry in MT mode.
o Properly initialise splitted data in G4VPhysicalVolume to zero.
o Replaced deprecated std::binary_function calls with lambdas in
G4SmartVoxelStat and G4GeometryManager. Addressing GitHub PR#8.
o Defined move constructor and move assignment operator for
G4AffineTransform.
o Use header-based #define/undef symbols to configure VecGeom
replacements; added new configuration headers G4GeomConfig.hh and
G4GeomTypes.hh.
o Fixed minor Coverity defects.
+ navigation:
o Improved information in G4Exceptions for particles stuck due to
multiple zero steps in G4Navigator.
+ solids/CSG:
o G4Tubs: Fixed normal from DistanceToOut() to be unit vector, for
abnormal exit points. Added inverse-Rmax and -Rmin as data members.
o Re-use pre-calculated values instead of using std::cos(), std::sin()
in G4Tubs, G4Cons, G4CutTubs and G4Sphere.
o Added inclusion of new G4GeomTypes.hh header to those headers allowing
VecGeom replacement.
+ solids/specific:
o Enabled VecGeom wrapper for G4GenericPolycone. Requiring VecGeom-1.1.2.
o Modified G4PolyconeSide and G4PolyhedraSide to use only trivial types
for MT splitted data in G4PlSideData and G4PhSideData respectively.
o Protected check in G4TwistedTubsSide::DistanceToPlane() within debug
flag.
o Defined move constructor and move assignment operator for
G4TriangularFacet.
o Use GetVertices() instead of GetParametersList() in the wrapper G4UTet.
o Added inclusion of new G4GeomTypes.hh header to those headers allowing
VecGeom replacement.
o Fixed minor Coverity defects.
o Global:
------
+ G4PhysicsVector: added additional Value() method option to propagate down
the known log-energy value (can avoid the log call in case of
log-vector).
+ Added new LOG_EKIN_MIN constant as value taken in case of zero kin-energy
in templates.hh.
+ Defined default move constructor and move assignment operator for
G4String and G4DataVector.
+ Added G4GlobalConfig.hh generated header to hold global, always required,
pre-processor symbols instead of relying on -D flags for: G4USE_STD11,
G4MULTITHREADED, G4_STORE_TRAJECTORY, G4VERBOSE and GEANT4_USE_TIMEMORY.
Added inclusion of G4GlobalConfig.hh in G4Types.hh, tls.hh and
G4TiMemory.hh so that global and other categories pick up the definitions
transparently.
+ Updated other headers/srcs to include G4Types/G4Threading if they use
G4MULTITHREADED.
+ Changed date for release 10.6-beta.
o Graphics Representations:
------------------------
+ G4VisAttributes: added 'cloud' and methods to force, SetForceCloud(),
and SetForceNumberOfCloudPoints().
+ G4VisExtent: added method Transform(const G4Transform3D&).
+ Removed Get/SetDrawOverlapsFlag() from G4VVisManager.
o Intercoms
---------
+ The following UI commands now return proper return code when they are
not successful: /control/execute, loop, foreach, shell, getEnv.
Addressing problem report #2159.
o Particles:
---------
+ G4DynamicParticle: added functionality to provide log-kinetic energy
value, computed only on demand if its stored value is not up-to-date
with the kinetic energy.
Code cleanup: moved data members to be private; aligned class members
3-vectors, doubles, integer; added initialisation of PDG code and
polarization in all constructors; added method SetPolarisation(); use
CLHEP electron mass; removed unused forward declarations and headers.
o Persistency:
-----------
+ GDML:
o Added support for writing out assemblies envelopes.
o Improved reading of optical properties reader, by allowing reuse of
the same G4MaterialPropertyVector object for identical properties.
o Physics Lists:
-------------
+ Constructors:
o electromagnetic:
- Added handling of UI thermalization model control in
G4EmDNAPhysics_option1,2,3,4,5,6,7,8.
- G4EmDNAChemistry constructors: updated to follow emdna changes.
- Added sub-excitation processes in G4EmDNAPhysics_option8.
- G4EmLivermorePhysics, G4EmPenelopePhysics,
G4EmStandardPhysics_option4, G4EmStandardPhysics_option3: define
upper energy limit for nuclear stopping via EM parameters.
In all DNA constructors, added ActivateDNA() flag to EM parameters.
- Added G4EmDNAChemistry_option2 constructor.
o gamma_lepto_nuclear:
- G4EmExtraPhysics: added muon-neutrino nucleus interactions; removed
extra static members.
o hadron_inelastic:
- G4HadronElasticPhysics: use Glauber-Gribov cross-section for
hyperons.
- G4HadronDElasticPhysics, G4HadronDElasticPhysics: use Glauber-Gribov
cross-section for hyperons, d, t, He3, He4.
- G4HadronElasticPhysicsXS, G4IonElasticPhysics: removed commented
code.
o stopping:
- Use FTFP also for the annihilation at rest of neutral anti-hadrons:
anti-neutron, anti-lambda, anti-sigma0 anti-xi0. This extension is
for completeness and practical convenience, although physically
neutral hadrons should never be completely at rest.
+ lists:
o Replaced G4RadioactiveDecay with G4RadioactiveDecayBase in LBE list.
o Electromagnetic Processes:
-------------------------
+ DNA:
o Added G4DNAMolecule class.
o Moved checking of position of track status in
G4ITStepProcessor::SetInitialStep().
o Chemistry: clarified pointer ownership in G4DNAChemistryManager.
o Fixed reaction site issue.
o Fixed compilation warnings on gcc-9.1. Code cleanup.
+ High Energy:
o G4GammaConversionToMuons, G4AnnihiToMuPair: added
registration/de-registration mechanism.
+ Standard:
o In most models, make use of the new target atom selector that can
reuse the already known log-energy value.
o G4UrbanMscModel, G4WentzelVIModel, G4GoudsmitSaundersonMscModel:
make use of the new base class methods in utils module, utilising
the already known log-energy value, in case of dEdx, range and
transport mean free path log-vector table accesses.
o G4UrbanMscModel: optimised step limitation for 'UseSafetyPlus'
and 'UseDistanceToBoundary'. Minor clean-up of step limit method.
Modified lateral displacement sampling.
o G4ScreeningMottCrossSection, G4KleinNishinaModel, G4SeltzerBergerModel,
G4eSingleCoulombScatteringModel: use element->GetZasInt() interface
in order to reduce number of double->int conversions at run time.
o G4BetheHeitler5DModel: set x,y components in BoostG4LorentzVector
function. Replaced local boost and rotation functions with CLHEP
boost, boostZ, transform. One random generator flatArray() call in
sampling loop.
o G4eCoulombScatteringModel, G4WentzelOKandVIxSection: cleanup debug
cout and initialisation.
+ Utils:
o G4EmElementSelector, G4VEmModel: added extra method to select the
target atom by making use of the already known log-energy value in
the log-vector access.
o G4VEmProcess, G4VEnergyLossProcess and G4VMscModel: added extra
methods to access log-vector tables by propagating the already
known log-energy value.
o G4LossTableManager: added Register/DeRegister() methods and vector
of pointers for G4VProcess classes for X-ray and optical processes.
o G4EmParameters: added polarisation flag; moved implementation of
splitting parameters to source and added check on lock; added
9.99 MeV low limit in the SetMaxEnergy() method, added thread lock
to Dump() method.
o G4EmParameters, G4EmParametersMessenger: splitted classes keeping the
user interface unchanged.
Added new classes for complex EM parameters (G4EmExtraParameters
G4EmExtraParametersMessenger) and new classes for low-energy and
DNA parameters (G4EmLowEParameters, G4EmLowEParametersMessenger).
o New helper class G4NIELCalculator, to compute NIEL in user stepping
action or sensitive detector code. User should provide G4VEmModel
objects, which has NIEL model.
o G4LossTableManager: added access and initialisation of
G4NIELCalculator.
+ Xrays:
o G4Cerenkov, G4Scintillation, G4SynchrotronRadiation,
G4VTransitionRadiation: added registration/de-registration mechanism.
o Generic Processes:
-----------------
+ Cuts:
o Added protection against premature call to G4ProductionCutsTable.
+ Optical:
o Code cleanup and formatting, added C++11 keywords.
o Hadronic Processes:
------------------
+ Improved G4HadronicException: aligned behavior with std::exception:
what() returns the exception explanation; move the member definition
to source file. Added some consts qualifiers.
+ cross_sections
o G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc: high energy
extension of neutrino-electron cross sections, for both
charged-current and neutral-current interactions (M_W and M_Z
propagator factors and Glashow resonance), for all neutrino and
anti-neutrino flavours.
o G4MuNeutrinoNucleusTotXsc: high energy extension of cc/nc xsc (M_W and
M_Z propagator factors) cc/tot ratio.
o G4NeutronElasticXS, G4NeutronInelasticXS, G4NeutronCaptureXS: utilise
the new Value() method from G4PhysicsVector, that can make use of the
already known value of the log-kinetic energy in the cross-sections
table log-vector accesses.
o G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS
G4ParticleInelasticXS: code clean-up, assuming usage of the new
data-set G4PARTICLEXSDATA2.0; removed unused variables and methods;
use only methods with logarithm of energy.
o G4ParticleInelasticXS: set verbosity to 0.
o Corrections in G4MuNeutrinoNucleusTotXsc.cc: new name, default
'fCcTotRatio' and high energy parameter 'bb'.
o G4ComponentAntiNuclNuclearXS: code clean-up and corrected the
description.
o G4ComponentGGHadronNucleusXsc, G4ComponentGGNuclNuclXsc: removed
remaining unused obsolete methods and members; use G4NuclearRadii
utility to compute nuclear radius.
o G4ComponentGGHadronNucleusXsc: fixed correction factor for kaons.
o G4BGGNucleonElasticXS: reduce low-energy limit from 1 to 0.75 MeV.
o G4BGGPionElasticXS, G4BGGPionInelasticXS: fixed initialisation for
pi+- by usage of separate vectors of correction factors; fixed
computation for Hydrogen target.
o G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS: fixed computation
for Hydrogen target.
o G4HadronNucleonXsc: added extra method for hyperon cross sections.
Extended to charmed and bottom hadrons (mesons and baryons).
Improved K+p parameterisations (NS and VG); removed obsolete methods.
o G4MuNeutrinoNucleusTotXsc: added new method GetElementCrossSection().
o G4ParticleInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS,
G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS,
G4NucleonNuclearCrossSection, G4ComponentBarNucleonNucleusXsc,
G4UPiNuclearCrossSection: share internal data vectors between threads;
initialise data once; removed unused parameters; code clean-up;
use C++11 keywords.
o G4VCrossSectionDataSet, G4CrossSectionDataStore,
G4IonProtonCrossSection: use only methods with logarithm of energy.
o G4HadronicException is substituted by G4Exception in all classes with
exceptions.
+ management
o G4HadronicInelasticProcess: removed default GHEISHA cross-section.
o G4EnergyRangeManager: fixed bug regarding the kinetic energy per
nucleon in the case of anti-nuclei (the bug was of little harm as one
single model, FTFP, is used for all energies in the case of anti-nuclei
projectiles).
o G4HadronicProcess: removed try/catch pattern from computation of mean
free path, removed final state random rotation.
+ models/cascade
o Fixed case for potential FPEs due to un-protected sqrt() in
G4NucleiModel::boundaryTransition().
+ models/coherent_elastic
o G4HadronElastic: removed tracking cut and use numerically safer
computation for very low-energy projectile. Improved description and
comments; added C++11 keywords.
Numerically safer treatment of the very rare cases in which cos(theta)
is either greater than 1.0 or smaller than -1.0 (in the first case, we
assume no interaction and the projectile keeps going unchanged; in the
second case, we assume that the projectile stops and its kinetic energy
is deposited locally, neglecting the recoil of the target nucleus).
Added protected variable pLocalTmax; added protection for zero energy
primary.
o Added new model class G4LowEHadronElastic.
o G4ChargeExchange: updated interfaces; added protection for zero energy
primary.
o G4ElasticHadrNucleusHE: make all data shared between threads.
o G4AntiNuclElastic: do not compute trigonometric functions, which are
not used.
o G4ElasticHadrNucleusHE, G4LEpp, G4LEnp: code clean-up.
+ models/de_excitation
o G4VEmissionProbability: use simple rejection.
o G4FermiFragment: fixed Coulomb barrier correction computation.
o Replaced deprecated std::binary_function calls with lambdas in
G4StatMFMicroCanonical and G4StatMFChannel. Addressing GitHub PR#8.
o G4Evaporation, G4ExcitationHandler, G4LevelReader, G4GammaTransition,
G4VEmissionProbability, G4PhotonEvaporation, G4PolarizationTransition:
changed scheme of verbosity - 0- silence, 1- dump of parameters at
initialisation, 2- debug printout, 3- very detailed debug printout.
Addressing problem report #2098.
o G4CoulombBarrier: use G4NuclearRadii utility to compute nuclear radius.
o G4EvaporationChannel, G4EvaporationProbability, G4VEmissionProbability,
G4FermiDecayProbability: simplified algorithm to sample kinetic energy
of a fragment; minor code clean-up, removed commented lines.
+ models/lend
o G4LENDCapture::ApplyYourself: fixed memory leak of 'products_from_PE',
reported by Coverity.
o Fixed compilation warnings on gcc-9.1 for missing assignment operator.
+ models/lepto_nuclear
o Neutrino-nucleus models and precalculated distribuitons as from
new data-set G4PARTICLEXS-2.0.
o Fixed in G4NuMuNucelusCc(Nc)Model for kinematics of quasi-elastic
neutrino scattering.
+ models/management
o G4HadronicInteractionRegistry: fixed typo in comments, removed unused
Boolean flag.
+ models/particle_hp
o Fix to deal with incorrect excitation energy when charged particles are
emitted during neutron reaction. In G4ParticleHPInelasticCompFS,
changed method CompositeApply(), for very small excitation, change
level index from -1 to 0 only if incident and outgoing particles are
the same. Addressing problem report #1838.
o Fix to deal with un-incremented index of photons in
G4ParticleHPPhotonDist::GetPhotons(). Also cleaned up dead code
in that class. Addressing problem report #2167.
o G4ParticleHPChannelList: fixed bug in the momentum change (it has to
be a normalized 3-vector, but it was not) in the case where NeutronHP
could not find a proper reaction channel.
o G4ParticleHPInelasticCompFS: fix to avoid arbitrary number of target
nuclei being generated and slowing down multi-threaded operation.
Addressing problem report #2166.
+ models/pre_equilibrium
o Added new model based on pre-compound de-excitation
G4LowEGammaNuclearModel.
o G4PreCompoundEmission, G4PreCompoundFragment, G4VPreCompoundFragment:
setup minimum number of points for probability integration to 4;
minor code clean-up.
+ models/radioactive_decay
o Added spontaneous fission channel: added new class G4SFDecay to handle
neutron and gamma generation using LLNL model. Read spontaneous fission
data from database, insert it into decay tables and instantiate
G4SFDecay.
o Fixed incorrect branching ratio sum for biased mode, to account for the
addition of N shell EC capture and spontaneous fission.
o G4RadioactiveDecayBase: added StreamInfo() method; updated to new
N shell EC; enable printout of parameters with G4VERBOSE in
BuildPhysicsTable().
o G4RadioactivationMessenger: removed obsolete "fast beta" option,
internal conversion option (not part of biasing) and atomic relaxation
option (not part of biasing). Added "analogueMC" option which was
forgotten when class was developed.
o G4RadioactiveDecayBaseMessenger: removed obsolete "fast beta" option.
o Replaced G4ExceptionDescription in loop with simple string at
exception time inG4RadioactiveDecay, G4RadioactiveDecayBase and
G4Radioactivation.
o In G4RadioactiveDecay::CalculateChainsFromParent() and
G4Radioactivation::CalculateChainsFromParent(), fixed memory leak of
'summedDecayTable' reported by Coverity.
o G4RadioactiveDecay, G4RadioactiveDecayBase: make sure decay table maps
are cleanly deleted at the end of program.
+ models/util
o G4NuclearRadii: new utility class with several parameterisations of
nuclear radius.
+ processes
o G4HadronElasticProcess: removed tracking cut for all particles (charged
particles may be stopped by the tracking cut of ionisation process;
neutrons should be stopped by G4NeutronKiller).
Added protection for zero energy primary. Removed final state rotation.
Removed default GHEISHA cross-section.
Clean up sampling of final state; improved description and comments;
added C++11 keywords; removed unused local members.
o G4MuNeutrinoNucleusProcess : new process managing
G4NuMuNucleusCc(Nc)Model models.
+ stopping
o G4HadronicAbsorptionFritof: extended to neutral anti-hadrons
(anti-neutron, anti-lambda, anti-sigma0 and anti-xi0). This extension
is for completeness and practical convenience, although physically
neutral hadrons should never be completely at rest.
+ util
o G4HadProjectile: clean-up for small kinetic energy of the projectile.
o G4HadFinalState, G4Bessel, G4ReactionProduct, G4GHEKinematicsVector:
replaced fabs() with abs().
o Track & Tracking
----------------
+ G4Track: added forward declaration for G4VProcess.
o Visualization:
-------------
+ Fixed compilation warnings on gcc-9.1.0.
+ management:
o Introducing cloud drawing style. New parameter candidate 'cloud' in
"/vis/viewer/set/style". Cloud drawing uses solid->GetPointOnSurface(),
i.e., uses kernel algorithms and by-passes polyhedral representations.
The solid is represented by a polymarker of dots. The default number of
points is 1000. This can be changed with the command
"/vis/viewer/set/numberOfCloudPoints"; the minimum number is 100.
Note that OpenGL has a fast algorithm for polymarker.
This allows us to use cloud style both as a choice or as fallback when
the polyhedral representation fails, for example, when BooleanProcessor
fails.
o New and improved commands:
/vis/viewer/centreOn: improved - it does not zoom.
/vis/viewer/centreAndZoomInOn: new.
/vis/touchable/centreOn: improved - it does not zoom.
/vis/touchable/centreAndZoomInOn: new.
/vis/touchable/extentForField and volumeForField: new.
/vis/scene/showExtents: new.
/vis/set/volumeForField: new.
/vis/touchable/showExtent: new.
o Added copy number parameter to "/vis/touchable/findPath".
o Implemented "/vis/set/extentForField" command: the default is a null
extent, which is to be interpreted by the field model as the whole
extent of the current scene. Otherwise, with this command, one can
limit the extent over which the field is drawn. This would help, for
example, if drawing over the whole scene produced so many arrows or
lines that it clutters the scene. Changed the default spacing:
the parameter 'nDataPointsPerHalfExtent' is changed from 10 to 3, so
as not to clutter the scene. See guidance of "/vis/scene/add/*Field"
commands for further explanation.
o Provide ability to draw electric fields, and eventually any other
field. Added "/vis/scene/add/electricField" by analogy to existing
.../magneticField.
o Refactor MagneticFieldModel class with new base to handle all kinds of
vector fields; existing, and new ElectricFieldModel only have to
implement a simple function to get the field vector at a location.
o Include parameterised volumes in overlap checking and visualisation
in G4LogicalVolumeModel (in addition to ordinary placements).
o Introduced "/vis/viewer/centreOn" and "/vis/touchable/centreOn" UI
commands. This allows one to centre the view (zoom in) on a volume.
Reset with "/vis/viewer/reset".
o Rationalised view interpolation; encapsulate algorithm into base class
G4VVisCommand, so that commands "/vis/viewer/interpolate",
"/vis/viewer/centreOn" and "/vis/touchable/centerOn" now use this.
Might consider use by all view changing commands.
o Fixed bug in "/vis/viewer/set/sectionPlane".
o Corrected few typos in printout/comments.
o Improved guidance for "/vis/scene/add/volume".
o Minor improvements to visualization manager.
o Fixed Boolean operators to return G4bool.
o Fixed Coverity defects.
+ modeling:
o Introduced G4BoundingExtentScene. This allows one to accumulate extents
using the newly introduced G4VisExtent::Transform() and is a better way
of determining the overall extent of a scene (or of any set of extents)
than by the bounding sphere approach.
o G4VFieldModel, G4ElectricFieldModel, G4MagneticFieldModel: new
abstraction for field models.
o Arrows and field models: introduced further protection.
o G4VModel: introduced GetTransformedExtent() method.
o G4PhysicalVolumeModel: use G4BoundingExtentScene instead of
G4BoundingSphereScene. Fixed bug whereby the local extent was
incorrectly calculated.
o Fixed bug in "/vis/viewer/set/sectionPlane".
o Added volume count (but commented out printing).
+ OpenGL:
o Force double buffer context for OGLIX.
o Force kernel visit on change of number of cloud points.
o Fixed bug in "/vis/viewer/set/sectionPlane".
o Avoid re-using display lists for markers. They may have their own
position relative to the overall object transformation.
+ OpenInventor:
o Test number of cloud points for kernel visit.
o Added missing protection on G4VIS_BUILD_OIX_DRIVER.
o Fixed compilation warning from gcc-9.1 in SoCounterAction for setting
of name, apparently not allowed in OpenInventor.
o Corrected few typos in printout/comments.
+ XXX:
o Force kernel visit on change of number of cloud points.
o Data Sets:
---------
+ G4PARTICLEXS-2.0:
o Added data for neutrino.
o Updated cross-sections for low Z targets at low energy.
o Examples:
--------
+ Updated reference outputs, macros, READMEs and scripts.
+ advanced/nanobeam
o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
+ advanced/underground_physics
o DMXPhysicsList: added Glauber-Gribov cross-section for all elastic
processes.
+ extended/biasing/B03
o B03PhysicsList: explicitly define hadronic cross-sections.
Use G4NeutronInelasticXS cross-section.
+ extended/electromagnetic/TestEm1
o Added G4NIELCalculator and corresponding histograms and printouts;
general clean-up of the code; use default random number generator.
+ extended/electromagnetic/TestEm5
o StackinAction: fixed log histograms, which where filled in a wrong way.
o PhysListEm19DStandard: use 3-gamma annihilation model.
+ extended/electromagnetic/TestEm15
o SteppingAction: do not fill hist #11,#12 when no recoil returned.
+ extended/electromagnetic/TestEm16
o PhysicsList: use G4DecayPhysics and drop G4AutoDelete.
o Migrated to use default MixMax generator.
+ extended/electromagnetic/TestEm17
o Code clean-up; switch to MixMax random generator.
+ extended/hadronic/Hadr01
o HistoManager: added linear histogram for pion energy at production.
+ extended/hadronic/Hadr02
o G4CRMCModel: some improvements (e.g. considered the energy-per-nucleon,
instead of the whole projectile, in the case of nucleus projectile) and
better documentation (in the form of comments in the class).
+ extended/medical/DICOM
o Defaulted copy-ctr in DicomPhantomZSliceHeader, to fix deprecation
compilation warnings on gcc-9.1.
+ extended/medical/DICOM2
o Include G4Types.hh header in main(), before use of G4MULTITHREADED.
+ extended/medical/dna/chem2
+ extended/medical/dna/chem3
o Clean-up of TimeStepAction.
+ extended/medical/dna/chem4
o Added UI commands for one step thermalization model selection
in macro beam.in.
o Make Species alias of const G4MolecularConfiguration.
+ extended/medical/dna/chem5
o Make Species alias of const G4MolecularConfiguration.
+ extended/medical/dna/dnadamage1
o New example showing a simple way to simulate dna direct and indirect
damages using Geant4-DNA physics and chemical processes in a molecular
DNA geometry.
+ extended/medical/dna/microdosimetry
o Updated plot.C.
+ extended/medical/dna/microprox
o New example showing how to compute proximity functions in liquid water
using exclusively Geant4-DNA physics processes and models.
+ extended/medical/dna/microyz
o Added condensed history models including step size control.
o Added EM UI commands in microyz.in.
o Fixed Boolean operators to return G4bool.
+ extended/medical/electronScattering2
o Fixed warning about attempting to add multiple times the same sensitive
detector.
+ extended/medical/fanoCavity
+ extended/medical/fanoCavity2
o DetectorConstruction: simplification of DefineMaterial().
o DetectorConstruction, DetectorMessenger: fixed usage of base materials
and cleanup (should fix ~1% error for Opt4 EM physics).
o PhysListEmStandard_option4: set RangeFactor to 0.08 (as in the
physics_list library). PhysListEmStandard_option3: set parameters as
in the physics_list library.
+ extended/optical/LXe
o LXeDetectorConstruction: removed protection against rebuilding
detector.
o LXeEventAction: commented out randomSaveEvent.
+ extended/parallel/MPI
o Fixed compilation error in G4MPIextraWorker.
Addressing problem report #2163.
+ extended/persistency/gdml/G01
o Added BeamOn(0) to initialize range to energy converters
needed when exporting cuts per volume.
+ extended/persistency/P01
o Fixed definition of allocator in ExP01TrackerHit.
+ extended/radioactivedecay/rdecay01
o PhysicsList: replaced G4RadioactiveDecay with refactored class
G4Radioactivation.
+ extended/radioactivedecay/rdecay02
o New class BiasedRDPhysics using new G4Radioactivation process with all
biasing available
o In PhysicsList, replaced G4RadioactiveDecayPhysics with
BiasedRDPhysics, also removed HP option physics lists.
o In Run, replaced G4RadioactiveDecay with G4Radioactivation.
----------------------------------------------------------------------------