forked from vmc-project/geant4_vmc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
history
921 lines (787 loc) · 35.7 KB
/
history
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
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
------------------------------------------------
The Geant4 Virtual Monte Carlo package
Copyright (C) 2007 - 2017 Ivana Hrivnacova
All rights reserved.
For the licensing terms see geant4_vmc/LICENSE.
Contact: [email protected]
-------------------------------------------------
Tags (history):
===============
08/03/2017
v3-4:
All packages:
- Migration to Geant4 10.3.p01
Geant4 VMC:
- Implemented new commands to define radiator properties:
and removed hard-coded values from TG4TransitionRadiationPhysics.
- Changes for performance optimization (according to suggestion by S, Wenzel, CERN):
- Cache pointers to the thread-local static in data members of client classes
- Set the default build mode to RelWithDebInfo (thanks to S. Wenzel, CERN)
Examples:
- Example Garfield renamed to ExGarfield
- Example TR: Define radiator via new commands
- Example E03:
Changes for performance optimization (according to suggestion by S, Wenzel, CERN):
- Cache pointers to the thread-local static in data members of client classes
Fixes:
Geant4 VMC:
- Fix in transforming primaries from TParticle to G4PrimaryParticle:
do not override the user defined mass with the PDG mass
- thanks to Oliver Freyermuth (Physics Institute of the University of Bonn).
- Fixed in applying stack popper process
Do not force the exclusive step when the parent track is suspended;
this fixes the problem observed in ALICE simulation.
- Fixed compilation with gcc 4.9.3 and 5.3.0
- thanks to Oliver Freyermuth (Physics Institute of the University of Bonn).
- Fixed CMake warning (policy CMP0042)
- Fixed handling the default zero value for argv in TG4RunManager:
(JIRA bug report VMC-7)
Tested with Geant4 10.03.p01 (with embedded CLHEP 2.3.4.3.)
Root 5.34/36 and Root 6.08/06, VGM 4.4, Garfield v1.0
15/01/2016
v3-3:
All packages:
- Migration to Geant4 10.2
Geant4 VMC:
- Integration of fast simulation based on the Geant4 framework:
- Added TG4VUserFastSimulation base class for user defined
fast simulation models
- Added TG4GflashFastSimulation and its messenger:
this makes possible to activate Gflash fast simulation via an option in
the configuration macro
- Added support for transition radiation physics:
- Added TG4TransitionRadiation physics builder, according to
the Geant4 extended example TestEm10
- Added new command to define a radiator:
/mcDet/setRadiator ...
- Implemented command to override the default G4 production cuts table energy range:
- /mcPhysics/productionCutsTableEnergyRange
(used in the Garfield example)
Examples:
- Added new examples:
- Gflash - use of Geant4 GFlash fast simulation
- Garfield - integration of Garfield++ using Geant4 fast simulation framework
- TR - use of Geant4 transition radiation physics
- All new examples use features of Geant4; when run with Geant3 the Geant3
standard configuration & physics is used
- The examples should be run in sequential mode.
Fixes:
Geant4 VMC:
- Fix in TG4ParticlesManager::CreateDynamicParticle(TParticle*):
the particle polarization was not propagated from TParticle to Geant4;
this affected the particles added to tracking by the user via stackPopper
- Fixed deleting TG4SpecialControlsV2 instance in MT mode
Examples:
- In E06: fixed in cloning MCApplication on workers
Tested with Geant4 10.02 (with embedded CLHEP 2.3.1.1.)
Root 5.34/34 and Root 6.06/00, VGM 4.3, Garfield v1.0
17/08/2015
v3-2:
Geant4 VMC:
- Added support for local magnetic fields.
- Added cached magnetic field and a related UI command :
/mcMagneticField/setConstDistance value unit
The cached magnetic field is created automatically when
the ConstDistance parameter is set to a non zero value.
- Added a possibility to include a user defined magnetic field equation of motion
and its integrator
- Integrated a new special UrbanMsc model adapted for ALICE EMCAL by V. Ivantchenko
and introduced a new set of commands (which do not allow invalid configurations):
/mcPhysics/emModel/setEmModel modelName
/mcPhysics/emModel/setParticles particleName1 particleName2 ...
/mcPhysics/emModel/setRegions regionName1 regionName2 ...
Examples:
- E03: Added a test configuration for including a user defined magnetic field equation
of motion and its integrator in example E03 and included the test in test suites
- E06: Added test for adding tracks in VMC stack by user (in E06 example)
- A01: Implemented option for use of local magnetic field and
added a test with use of local fields in test suites
Fixes:
Geant4 VMC:
- Fixed TG4StackPopper class handling adding particles on the stack
from the user application. The user tracks generated at the last step of parent track
were not popped to the stack.
- Fixed implementation of TVirtualMC::IsTrackDisappeared():
return false if fSuspend, true if fStopAndKill.
- Use G4PAIPhotModel instead of G4PAIPhotonModel (recommended since Geant4 10.00)
- Fixed the expected names of output-files from rootcint (required by CMake 3.2.x):
- thanks to Oliver Freyermuth (Physics Institute of the University of Bonn).
G4Root (A. Gheata):
Fixed boundary crossing errors (by A. Gheata)
- This error was due to the G4 field propagator which was exiting
some volume inside the mother and expecting a non-zero step, but in fact
was entering a daughter volume right away.
This fixes killing tracks by G4PropagatorInField as:
*** G4Exception : GeomNav1002
issued by : G4PropagatorInField::ComputeStep()
Particle is stuck; it will be killed.
Zero progress for 51 attempted steps.
Proposed Step is 1.78471e-05 but Step Taken is 1.78471e-05
in volume TPC_Drift
*** This is just a warning message. ***
Known problems:
- On MAC OSX, a build option for Root VMC library has to be activated
for running in MT mode
o At present, this requires a customised ROOT installation with a
modification of TMCtls.h in root/montecarlo/vmc/include
Tested with Geant4 10.01.p02 (with embedded CLHEP 2.2.0.4)
Root 5.34/26 and Root 6.04/02, VGM 4.3
19/12/2014
v3-1:
All packages:
- Migration to Geant4 10.1 and Root 6.02/02
Geant4 VMC:
Improved implementation of range cuts:
- The range cut calculated per region for electron is now by default applied
also to positron and proton
- Implemented commands which allow to inactivate applying range cuts
per particle:
/mcRegions/applyForXYZ true|false where XYZ=Gamma, Electron,Positron,Proton
- Added a command for setting the range cut for proton:
/mcPhysics/rangeCutForProton
- Implemented commands to reduce Geant4 output from Geant4 hadronics physics:
/mcPhysics/g4NeutronHPVerbose
/mcPhysics/g4HadronicProcessStoreVerbose
Known problems:
- The problems listed in v3-0 (related to MT only) are remaining.
- test_suite_exe.sh fails for example A01 (during loading geometry from a file)
with Root 6.02/02 - the problem requires a fix in Root
Tested with Geant4 10.01 (with embedded CLHEP 2.2.0.4)
Root 5.34/23 and Root 6.02/02, VGM 4.2
17/11/2014
v3-0:
All packages:
- Consolidated migration to Geant4 multi-threading
o Added an option to select to run an application in sequential mode
also with Geant4 libraries built in MT mode
o Made setting defined via Geant4 actions available in PreInit phase
- Migration to Root 6.02/xx
(note that this involves building against C++11 standard)
- Migration to CMake build system (and removed "old" Makefiles)
o see new installation instructions at:
http://root.cern.ch/drupal/content/installing-geant4vmc-cmake
- Made use of G4Root package optional
Geant4 VMC:
- Removed obsolete "interfaces" category
G4Root (A. Gheata):
- Replaced old g4root test based on Geant4 N06 example with a new one based
on Geant4 OpNovice example (A. Gheata)
- Enabled Geant4 visualization of bounding box in TG4RootSolid.
Examples:
- Separated macros for loading libraries (load_g3|4.C) from run macros
(run_g3|4.C) - required for cling (Root6)
- Improved examples test suites:
o Possibility to select g3/g4 test via arguments
o Added summary message and return code
o Possibility to define build dir via arguments
Fixes:
- Fixed optional compilation without Geant4 G3toG4 package
- Fixed TG4GeometryManager destructor
- Fix in TG4RegionsManager to restore optional regions printing (was affected
by changes in Geant4 10.0)
- Fixed description of /mcPhysics/printAllProcess and /mcPhysics/dumpAllProcess
commands
- Fixed g4root test geometry (Andrei Gheata)
- Fixed TG4RootNavigator: added missing include and forward declarations
- Fix in G4Root for MT mode (by A. Gheata):
set G4Root navigator also to G4SteppingManager
- Fixed returning names via const char* (was failing on Mac)
- Fixed incorrectly used G4cout (instead of G4endl) in TG4SDConstruction.cxx,
TG4Medium.cxx
Known problems:
- Problem at exit in E02 example in MT mode
- On MAC OSX, a build option for Root VMC library has to be activated
for running in MT mode
o At present, this requires a customised ROOT installation with a
modification of TMCtls.h in root/montecarlo/vmc/include
Aknowledgment:
Thanks to Oliver Freyermuth, Physics Institute of the University of Bonn
for testing CMake build and examples test suites and his contributions.
Tested with Geant4 10.00.p03 (with embedded CLHEP 2.1.4.1)
Root 5.34/23 and Root 6.02/01, VGM 4.2
14/03/2014
v3-00-b01:
Migration to Geant4 10.00 MT (beta release)
Geant4 VMC:
Developments:
- Migration to Geant4 multi-threading
Fixes:
- Fixed SetDecayMode(): do not fill empty channels (as this causes
problems in MT)
- Added protection for zero return from G4ParticleTable::GetParticle(i)
- Fixed implementation of special controls
- Fixed compilation with NO_G3TOG4
Examples:
Developments:
- Migration to Geant4 multi-threading
- Added examples and examples tests main functions and CMake
configuration files for bulding programs linked with all libraries
Tested with Geant4 10.00.p01 (with embedded CLHEP 2.1.4.1)
Root 5.34/18 (+patch in TCint class), VGM 3.06
10/12/2013
v2-15:
Migration to Geant4 10.00
Geant4 VMC:
Developments:
- Applying step limit in low density materials made optional;
the default step value changed to 10m
- Added commands:
/mcDet/setIsUserMaxStep true|false
/mcDet/setIsMaxStepInLowDensityMaterials true|false
- TG4SpecialStackingAction adapted for G4SmartTrackStack
(in Geant4 since 9.6.x); secondaries are not ordered even
when the special stacking is activated
- Added filtering of Geant4 compiler flags in makefiles
(needed for Geant4 10.0)
Fixes:
- Fixed filling optical photon status in TVirtualMC::StepProcess()
- Fixed setting of PAI model to selected particles in TG4EmModelPhysics
- Fixed missing initialization in TG4RegionsManager
(thanks to O. Freyermuth)
- Fixed g4libs.C to handle correctly using external CLHEP
(thanks to I. Das)
- Fixed TG4TrackingAction to work properly with the default stacking of
optical photons
- Fixed compiler warnings issued with Geant4 compiler flags not
enabled by default (mainly shadowed variables)
Tested with Geant4 10.00 (with embedded CLHEP 2.1.4.1)
+ patch provided at http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1537,
Root 5.34/13, VGM 3.06
14/12/2012
v2-14:
Migration to Geant4 9.6
Geant4 VMC:
Developments:
- Implemented commands for activating saving random number status
and restoring it from a file:
- Improved TG4VSpecialCuts: reorganized code to avoid unnecessary
calculations before tests
- Removed obsolete features:
classes TG4LVStructure, TG4LVTree, TG4LVTreeMessenger;
methood TG4EventAction::DisplayEvent; command /mcEvent/drawTracks
- Added an option to exclude G3toG4 dependent code which can be activated
by setting NO_G3TOG4 environment variable
G4Root:
- Added TG4RootNavigator::GetGlobalExitNormal(), required with Geant4 9.6.
(A. Gheata)
Fixes:
- Fixed mapping between Rootino and geantino;
user can now introduce chargedgeantino by setting the title
"ChargedRootino" to Rootino particle.
- Fixed bug in TVirtualMC::Gdtom() implementation
- Fixed units in stacking particles
- Fix in TVirtualMC::GetSecondary implementation: get track global time
instead of the local one
- Fixes to support Geant4 native geometries: handling copyNo, taking into
account the user limits
- Fixed units in material optical properties
Examples:
- Added new A01 example
- Improved g4vis.in macros and removed use of gean4_vmc commands
(now removed)
- In E02, E03: Default physics list changed to FTFP_BERT to be consistent
with the examples in Geant4 9.6
Tested with Geant4 9.6 (with embedded CLHEP 2.1.3.1),
Root 5.34/03, VGM 3.06
13/12/2011
v2-13:
Migration to Geant4 9.5:
In Makefiles: use of geant4-config if G4INSTALL is not defined
Geant4 VMC:
Developments:
- Implemented a possibility to select sensitive volumes by the user;
in this case TVirtualMCApplication::Stepping() function is called only when
track is located in a sensitive volume.
- Added the user physics selection in the TGeant4 title, so that
it can be retrievable in a user application.
- Migration to changes in G4PhysListFactory
(now all hadronic lists can be combined with all EM options)
- Modified building of physics list:
Added TG4ExtraPhysicsList with the following optional Geant4 builders:
G4ExtraPhysics - moved from TG4EmPhysicsList;
G4OpticalPhysics - which has replaced TG4OpticalPhysics;
this implies the changes of commands for configuring optical processes
G4RadioactiveDecayBuilder - new
- Faster implementation of TVirtualMC::GetMediumID()
(the medium ID is now added in TG4SensitiveDetector object)
Fixes:
- Fix in GetSecondary(..) (bug reported by L. Zambelli)
there was missing conversion of units in the returned value of particle
momentum.
- Fixing compilation with G4UI_NONE and G4VIS_NONE
Examples:
- new g4libs.C macro with use of geant4-config;
the macro based on liblist renamed to g4libs_old.C;
previous g4libs_old.C (explicit loading) removed
- E06:
- Added setting parameters for Optical Mie Scattering (according N06)
- Updated configuration optical processes using G4 commands
- Removed special setting for G3 (it was causing G4 exception
and seems not to be needed for G3)
Tested with Geant4 9.5 (with embedded CLHEP 2.1.1.0),
Root 5.30/04 and Root 5.32/00 + patch in root/etc from rev.42474,
VGM 3.05
14/07/2011
v2-12:
Migration to Root v5.30/00 and Geant4 9.5.b01
Geant4 VMC:
Developments:
- Implemented new TVirtualMC functions:
Bool_t GetMaterial(Int_t imat, ...);
... which replaced the current Gfmate(...) functions
- Mapping physics processes from 9.4.p02
- Adding light anti-ions (ani_deuteron, anti_triton, anti_alpha, anti_He3)
so that users do not to define them themselves via
TVirtualMC::DefineParticle.
Fixes:
- Coverity defects
- Fix in TG4ParticlesManager for handling particles which have
no equivalent in TDatabasePDG: the particle is now added in TDatabasePDG
without issuing an exception
Examples:
- Adding a test for testing all available G4 physics lists
- Adding a test for the new function GetMaterial() in E01
- Removing code calling Geant3 visualization functions from all
examples code and macros
- Adding a primary generator with anti_nuclei in E03 and added this test
in test_suite
Tested with Geant4 9.4.p02 and 9.5.b01, CLHEP 2.1.0.1,
Root 5.28/00e and Root 5.30/00, VGM 3.04
22/12/2010
v2-11:
Migration to Geant4 9.4 release.
Tested with Geant4 9.4, CLHEP 2.1.0.1, Root 5.28/00, VGM 3.04
02/10/2010
v2-10:
Geant4 VMC:
Improvements:
- Implemented new TVirtualMC functions:
virtual void SetCollectTracks(...);
virtual Bool_t IsCollectTracks() const;
virtual Bool_t CurrentBoundaryNormal(...) const;
- Added new TG4EmModelPhysics which allows user selection of an extra
EM energy loss and fluctuations models.
- Adding a utility class, TG4ParticlesChecker, for comparing particles
properties defined in Root and Geant4 and its messenger
TG4ParticlesCheckerMessenger.
- Implemented commands to allow user to customise the setting of the
the max allowed step in materials with a density below a limit value
- Added a possbility to switch off passing the random number seed from
TRandom in CLHEP::HepRandom; this allows using standard Geant4 commands
for saving and restoring the random number generator status
- Mapped processed used in CHIPS and QBBC physics lists
- Migration to Geant4 9.4.b01:
- updated TG4UserParticlesPhysics, mapped processes present in new
Fixes:
- Fixed the time of flight returned via TVirtualMC::TrackPosition():
return the global track time (= time since the event in which the track
belongs is created) instead of local track time (= the local time since
the current track is created) in order to be consistent with Geant3.
Tested with Geant4 9.3.p02, CLHEP 2.0.4.5, Root 5.27/06, VGM 3.03
and Geant4 9.4.b01, CLHEP 2.0.4.6
Examples:
Removed macros for running examples with Fluka
Tested with Geant3 1.11, Geant4 VMC 2.10
20/05/2010
v2-9:
G4Root
- Moved from Root in Geant4 VMC
Geant4 VMC:
Improvements:
- Added new class TG4FieldParameters which allows customization of Geant4
magnetic field integrator and accuracy parameters.
(See E02/g4config.in an example of new commands.)
- Added new class TG4CrossSectionManager which allows inspecting
hadronic cross sections.
(See: http://root.cern.ch/drupal/content/physics-list)
- The available hadron physics lists names are now taken directly from
G4PhysListFactory.
Fixes:
- In TG4RegionsManager:
- set the range cuts to result always to an energy cut below the user
cut value.
- set ranges also for the world volume
- increased the maximum order of search ranges (to 1km)
- fixed CheckCut method (the cut from range must be <= VMC cut)
- In TG4StepManager:
- Adding its own G4Navigator object, which is used for LocateGlobalPoint...
calls in pre-track phase.
(Fixes the problem reported by A. Robert.)
- In TG4OpGeometryManager, TG4OpticalPhysics
- Do not set RINDEX material property if defined with zero values.
(The zero value is a Geant3 convention to define material as metal
which was not adopted in Geant4, where 0 values cause unpredictable
behavior in G4OpBoundary process.)
- The Raileigh and boundary processes were not added to opticalphoton
process manager.
- Fix in applying MCApplication::TrackingRMax,TrackingZMax.
Examples:
- Frozen testing examples with Fluka.
Tested with Geant4 9.3.p01, CLHEP 2.0.4.5, Root 5.26/00b, VGM 3.03;
21/01/2010
v2-8:
Geant4 VMC:
Improvements:
- In optical physics:
Implemented new command for user customization
of optical physics list;
Changed/added the default parameters:
fgkDefaultMaxNumPhotons = 20;
fgkDefaultMaxBetaChange = 1.0;
fgkDefaultYieldFactor = 1.0;
- Passing the random number seed from TRandom in CLHEP::HepRandom
(on the request from FairRoot)
- Added an option to print memory usage at the end of event
- Added an option to print all regions
- New, faster implementation of VMC functions:
Int_t VolId(const Text_t* volName) const;
const char* VolName(Int_t id) const;
Fixes:
- Fixes in applying VMC cuts:
- fixed processes names in TG4G3CutVector
- fix in applying PPCUTM: the cut is now applied as a limit
to the total energy of e+e- pair procuced by muon;
the cut is not applied for e+e- pair from gamma conversion
- Fix in handling feedback photons: keep the feedback photon
PDG encoding which is different from opticalphoton
- Fix in applying max step limit
- Fix in TG4RunConfiguration constructor:
to handle correctly special physics options.
Thanks to M. Al-Turany for reporting this problem.
- Fixes for running with option G4UI_NONE
Thanks to V. Di Benedetto for reporting this problem.
- Fixed handling of particle weights
Thanks to Vito Di Benedetto for pointing at this.
Tested with Geant4 9.3, CLHEP 2.0.4.5, Root 5.26/00, VGM 3.02;
Examples:
- Added an example of magnetic field class Ex02MagField in E02
Tested with Geant3 1.11, Geant4 VMC 2.8, Fluka VMC 0.4
15/07/2009
v2-7:
Geant4 VMC:
- Implemented new TVirtualMC function:
virtual void SetUserParameters(Bool_t isUserParameters);
which allows to activate the parameters defined in tracking media
(DEEMAX, STMIN, STEMAX), which are, be default, ignored.
In Geant4 case, only STEMAX is taken into account.
- New implementation of VMC cuts via regions;
this limits the number of secondaries produced beyond
tracking cuts and speeds up simulation.
- New implementation of support for special controls (G3 flags):
The process TG4SpecialControls is replaced with a manager class
TG4SpecialControlsV2, which functions are colled from tracking
and stepping functions.
- When using special stacking action, neutrinos are not killed
by default, but optionally. This options can be set via a command:
/mcTracking/skipNeutrino [true|false]
Fixes:
- Fix in applying special controls (the original processes activation
was not always restored when particle got out from a given tracking
medium or stopped).
- Fix in applying SetMaxStep (the original step limit was not always
restored when particle got out from a given tracking
medium or stopped).
Tested with Geant4 9.2.p01, CLHEP 2.0.4.2, Root 5.24/00, VGM 3.02;
Examples:
- Fixes in E02 example: fixing a problem reported by A, Robert,
when using stack for a large events, links to mother particles
get lost after a few hundreds of events.
Tested with Geant3 1.11, Geant4 VMC 2.7, Fluka VMC 0.4
06/03/2009
v2-6:
Geant4 VMC:
- Adaptation to the new TGeo mag field interface
- Implemented TVirtualMC::SetUserDecay
- Including the names of Root assemblies in volume names
when exporting Root geometry in Geant4 (optinal)
- Removing G4VisManager inheritance from TG4VisManager;
G4VisExecutive is now used for instatiating G4 visualzation
drivers
Fixes:
- Fix in mapping primary particles Ids in TG4TrackManager.
- Increase copyNo from divisions by 1 when running with G4 native
geometry (to be compatible with TGeo numbering.)
- Migration to gcc 4.3.2
Examples:
- Migration to the new TGeo mag field interface
- Material definition using directly Root objects,
- Added test for user decay (in E03)
- Macro g4libs.C replaced with a new one using Geant4 liblist;
thanks to Ch.H. Christensen and D. Naumov for this development.
Tested with Geant4 9.2, CLHEP 2.0.4.2, Root 5.23/02, VGM 3.02
21/07/2008
v2-5:
Geant4 VMC:
- Implemented user defined regions via TG4VUserRegionConstruction
base class
- Implemented a possibility to select particles for
which the external decayer will have a priority over
using Geant4 decay table; the new command:
/mcPhysics/setExtDecayerSelection [particleName1 ..]
- Fix in applying CUTELE (problem reported by Stefano Sparato)
- Fixing problem (undefined symbols) when running in batch mode
(reported by Mohammad Al-Turrany)
- Implemented TVirtualMC::ForceDecayTime()
- Improved and completed documentation
- Plus other minor fixes and corrections
Examples:
- Adding macros for running with Fluka
- In E03: added an example for user defined regions in Geant4
- Adding setting FPE mask to zero, in order to make sure than FPE for
FE_OVERFLOW is disabled what is required for Geant4.
Tested with Geant4 9.1.p02, CLHEP 2.0.3.2, Root 5.20/00, VGM 3.01
18/12/2007
v2-4:
Geant4 VMC:
- Geant4 VMC default physics list replaced with the
physics lists provided in Geant4 selected by user
via an option in TG4RunConfiguration class.
- The classes used for selecting/building physics list
are now moved in a new directory physics_list
- The physics constructor classes were renamed
from TG4PhysicsConstructorXYZ to TG4XYZPhysics
- Some command defined in /mcPhysics were changed
with these modifications
- Implemented new TVirtualMC functions for user defined
particles, including their decay channels:
DefineParticle()
SetDecayMode()
- Revised TMCProcess constants, adding new constants
needed for Geant4 physics in root/vmc
Examples:
- In E03: added an example for adding particles and ions
thanks to Mohammad Al-Turany
Tested with Geant4 9.1, CLHEP 2.0.3.2, Root 5.17/08, VGM 3.00
03/07/2007
v2-3:
Geant4 VMC:
- Implemented non zero energy deposit in case of optical
boundary process with the status Detection
required by ALICE - thanks to Andrei Gheata
- Migration to Geant4 9.0
Tested with Geant4 9.0, CLHEP 2.0.3.1, Root 5.16/00, VGM 2.09
30/05/2007:
v2-2:
Geant4 VMC:
- Added a special process which pops particles
defined by user during tracking from the VMC stack
and passes them to Geant4.
The process is not activated by default,
but it has to be set via TG4PhysicsListOptions object.
- Added an option for storing secondary particles in VMC
in stepping; by default the secondaries are stored after
the particle is tracked.
The saving secondaries in stepping can be selected via
command: /mcTracking/saveSecondariesInStep true
- Implemented calls to a new VMC application function
TVirtualMCApplication::MisalignGeometry()
Tested with Geant4 8.3, CLHEP 2.0.3.1, Root 5.15/08, VGM 2.09
22/03/2007:
v2-1:
Geant4 VMC:
- Adding application state, which is updated with each phase
of MC; the calls to VMC are now checked with respect to
the application state and a warning is issued of the call happens
at wrong time.
- A few fixes for running with G4Root navigation
Tested with Geant4 8.2.p01, CLHEP 2.0.3.1, Root 5.15/04, VGM 2.08.04
18/12/2006
v2-0:
Geant4 VMC:
- Added support for G4Root navigation
- In TG4RunConfiguration user has to specify explicitely
the way of geometry definition and selected navigation
via these options:
- geomVMCtoGeant4 - geometry defined via VMC, G4 native navigation
- geomVMCtoRoot - geometry defined via VMC, Root navigation
- geomRoot - geometry defined via Root, Root navigation
- geomRootToGeant4 - geometry defined via Root, G4 native navigation
- geomGeant4 - geometry defined via Geant4, G4 native navigation
- Restructuring code in geometry category:
- Implementation of the VMC functions for building geometry
now in TG4MCGeometry : TVirtualMCGeometry;
- TGeant4 instatiates either TG4MCGeometry or TGeoMCGeometry
depending on user choice
- Migration to Geant4 8.2:
Updated TG4ParticlesManager - PDG codes for nuclei now
defined in Geant4, these codes are used when storing particles
in the VMC stack
Examples:
- In all example geometry is now by default defined via in Root;
geonmetry defined via VMC is moved in Ex0NDetectorConstractionOld
class
- Getting media Id needded for setting cuts or optical properties
via new function TVirtualMC::MediumId(const Text_t* mediumName)
- Updated test_suite to include all ways of geometry
definition/naviagtion, added new run_suite.sh to test run_*C macros
Tested with Geant4 8.2, CLHEP 2.0.3.1, Root 5.14/00, VGM 2.08.04
06/07/2006
v1-9:
Geant4 VMC:
Added support for geometry and primary generator defined via Geant4;
user can now override also functions
TG4RunConfiguration::CreateDetectorConstruction();
TG4RunConfiguration::CreatePrimaryGenerator()
Tested with Geant4 8.1, CLHEP 2.0.2.3, Root 5.11/06, VGM 2.08
12/01/2006
v1-8:
Geant4 VMC:
Migration to Geant4 8.0:
- TG4RunConfiguration now only provides functions for creating
user mandatory and action classes; ConfigureRunManager() function
is moved in TG4RunManager;
in a user derived class it now sufficient to override only the
TG4RunConfiguration::CreatePhysicsList() method.
- New way of selecting physics via TG4PhysicsListOptions
- Migration to CLHEP 2.0.2.2
Tested with Geant4 8.0, CLHEP 1.9.2.2 and 2.0.2.2, Root 5.08/00, VGM 2.07
22/07/2005
v1-7:
Geant4 VMC:
- Implemented new VMC functions for definition of surfaces
and material properties for optical physics
- Added possibility to define maximum number of optical photons
per step by user (command /mcPhysics/setCerenkovMaxPhotons)
Examples:
- Added E06 example which demonstrates Cherenkov and optical photon
processes
Tested with Geant4 7.0 and 7.1, Root 5.02/00, VGM 2.05
29/03/2005
v1-6:
Geant4 VMC:
- Added possibility to use VGM for geometry conversion and
export to XML as an alternative to geant4_vmc/convertors;
use of VGM is optional, handled by the environment variable USE_VGM.
If USE_VGM is set, the VGM is used for all geometry conversions
by default, old roottog4 convertor can be selected via command:
/mcDet/useVGM false
old g4toxml convertor is disabled.
- Fixed setting cuts and G3 controls via special cuts and
special control processes.
Tested with Geant4 7.0, Root 4.03/02, VGM 2.03
04/01/2005
v1-5:
Geant4 VMC:
Migration to Geant4 version 7.0;
correction in passing step limits defined in tracking media
to Geant4.
Doxygen documentation.
Examples:
Added test_suite.sh to test automatically all examples with
all MCs; added configuration macros for TGeant3TGeo.
Tested with Geant4 7.0, Root 4.02/00
05/10/2004
v1-4:
Geant4_vmc:
Updated for modifications in TVirtualMC;
corrections in Gmtod(), Gdtom() functions
Convertors
g4toxml:
AGDD convertor now generates full AGDD document,
the TOP.xml file is not needed anymore.
roottog4:
Added support for composite shapes;
Added support for divisions in reflected mothers;
Corrections in mapping tracking media Ids to G4 logical volumes
Platform names have been changed according to root-config --arch;
this changes also the target lib and tmp directories names.
Tested with Geant4 6.2, Root 4.01/02
26/04/2004
v1-3:
Convertors:
g4toxml:
Design updated to support two XML format: AGDD and GDML (new);
the command for XML file generation changed to
/xml/generateAGDD [volName]
/xml/generateGDML [volName]
roottog4:
Bug fixes in sphere (rmax); polycone and polyhedra solids
(do not modify original parameters of TGeo shapes).
Tested with Geant4 6.1, Root 3.10/02 and Root 4.00/03.
18/12/2003:
v1-2:
Geant4_vmc:
Update to Geant4 6.0 (removal of g4std, G4std);
updated physics contructors according to novice examples in
Geant4 6.0.
Convertors - g4toxml:
Corrected export of reflected volumes.
Tested with Geant4 6.0, Root 3.10/01.
10/10/2003:
v1-1:
Geant4_vmc:
Implemented new functions from TVirtualMC
enabling user to define own particles and ions
+ getter functions:
DefineParticle(..)
DefineIon(..)
ParticleName(..) const
ParticleMass(..) const
Double_t ParticleCharge(..) const
Double_t ParticleLifeTime(..) const
TMCParticleType ParticleMCType(..) const
Examples:
Update to changes in VMC:
removed functions TrackingRmax, TrackingZmax (not needed if default is used);
removed calls to gMC->DefineParticles() in InitMC
(this function is going to be removed from TVirtualMC).
Tested with Geant4 5.2, Root 3.10/01.
21/07/2003:
v1-0:
Convertors:
Added new directory with geometry convertors:
- roottog4 - convertor from Root to G4 (still in development);
- g4toxml - convertor from G4 to XML (AGDD) - separated from
geant4_vmc
Geant4_vmc:
Updated for changes in TVirtualMCStack;
modifications to support geometry defined via TGeo
using roottog4 convertor.
Examples:
In E01 added new functions for building geometry via TGeo
as an alternative to old way via VMC;
update for changes in TVirtualStack.
Tested with Geant4 5.2, Root 3.05/06.
03/06/2003:
v0-5:
geant4_vmc:
Enabled a user defined physics list:
TG4VRunConfiguration can be overriden by a user own
class instantiating a user own physics list
(derived from G4VUserPhysicsList).
Update for Geant4 5.1.
Examples:
Corrected deleting of MC application
(to avoid warning from deleting static G4 objects when exiting Root)
Tested with Geant4 5.1, Root 3.05/04.
13/03/2003:
v0-4:
geant4_vmc:
Saving secondary particles to MC stack made optional
(added /mcTracking/saveSecondaries command);
a few corrections.
Examples:
New example E03;
Corrected implementation in the examples stack classes
- fixed meaning of the argument done (renamed toBeDone)
to be consistent with TGeant3 implementation;
Tested with Geant4 5.0, Root 3.05/03.
29/01/2003:
v0-3:
Update to changes in TVirtualMC;
the XML convertor classes made independent from Geant4 VMC.
Tested with Geant4 5.0, Root 3.05/00.
18/12/2002:
v0-2:
Update for new Geant4 version;
a few corrections (mainly in makefiles).
Tested with Geant4 5.0, Root 3.04/01.
12/10/2002:
v0-1:
The first released version;
tested with Geant4 4.1 + patch01, Root 3.03/09.
20/09/2002:
First revision:
Implementation of TVirtualMC interface (in Root) for Geant4;
source: AliRoot/TGeant4.
See previous history in AliRoot/AliGeant4/doc/history.