forked from vmc-project/geant3
-
Notifications
You must be signed in to change notification settings - Fork 1
/
history
345 lines (284 loc) · 12.1 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
Geant3 tags (history):
======================
15/01/2024
v4-3:
- Removed dependencies on pythia6:
- Excluded gludky.F, glund.F, glundi.F from compilation
- Removed ROOT::EGPythia6 from ROOT_DEPS in cmake configuration
The pythia6 interface is deprecated in ROOT since version 6.30
(see https://root.cern/doc/v630/release-notes.html)
Tested with VMC 2.0 and Root 6.30/02
09/02/2023
v4-2:
- Fixed a segmentation violation observed on MacOSX with M1/M2 processors
with AliRoot:
- TCallf77.h: Use size_t corresponding to the return type of strlen (#4 0)
(thanks to P. Hristov, CERN)
- Removed unused definitions WITHG3, WITHROOT, WITHBOTH
- Updated package description in README.md:
- Removed obsolete information
- Updated links to documentation
- Moved examples section in examples/README.md
Tested with VMC 2.0 and Root 6.24/10
17/02/2022
v4-1:
- Updated cmake for removal of MTRoot and removal of ow UseGeant4.cmake
Tested with VMC 2.0 and Root 6.24/06 and 6.26/00
10/02/2022
v4-0:
- Update for changes in in TVirtualMC methods for setting optical
material properties (PR #35)
- Removed fallback to ROOT's internal VMC and added fatal error
if VMC is found in ROOT (PR #36)
- Patch mutiple volumes to sd (PR #34):
Sensitive detectors can be registered to multiple volumes with the same name.
- Fix compilation on ARM64 linux (a Linux VM on a MacBook with
the Apple M1 processor (solution proposed at Issue #32)
- Make sure that TGeo is using the old Root units (PR #31)
- Fixed linking on macosx12 (PR #30)
Tested with VMC 2.0 and Root 6.24/06.
03/12/2021:
v3-9:
- Fixes in Gcalor
(thaks to F. Uhlig, GSI)
- Updates in cmake:
- Export install prefix
- Build aganst VMC standalone library by default,
keep compiling with VMC in ROOT with a deprecation warning
- Further completion of ProcessEvent interfaces
(thanks to B. Volkel, CERN, Ruprecht Karls Universitaet Heidelberg)
Tested with VMC 1.1.0 and Root 6.24/06.
17/02/2020:
v3-8:
- Fixed compilation with GCC >=10 ()
- Added -fallow-argument-mismatch option
(thanks to Art Olin, TRIUMF)
- Fix gfortran 7 compilation (#25)
- Fix in gcalor.F:
Error: COMMON attribute conflicts with SAVE attribute in 'q' at (1)
(thanks to Mohammad Al-Turany, Dennis Klein, GSI)
- Fix in ertrak.F (#24)
- Fix the problem with string as function argument.
(thanks to Radoslaw Karabowicz, GSI)
Tested with VMC 1.0.p3 and Root 6.22/06.
09/09/2020:
v3-7:
- Fixed compilation with GCC >=10:
Allow non-standard-conform BOZ literal constants -fallow-invalid-boz
- Applied changes to be able to properly use geane
- Fixed implementation of TGeant3TGeo::VolId
(thanks to Dennis Klein, GSI for the problem report)
- Add gcalor:
- Added gcalor code and its data files
- Its build, disabled by default, can be enabled via -DBUILD_GCALOR=ON
- Fixed compiler warnings:
- Increased string sizes to support long installation prefixes
- Set extra compiler flags only if gcalor is build
- Updated documentation (README_gcalor)
See README_gcalor for the credits for this code.
Thanks to Mohammad Al-Turany, Dennis Klein, Dmytro Kresanand Florian Uhlig, GSI
for the updates in this version.
Tested with VMC 1.0.p3 and Root 6.22/00.
24/07/2020:
v3-6:
- Fixed multiple engine mode:
In multiple engine mode, the info whether a track is primary or not is
taken from TMCParticleStatus and passed to gtreveroot.F,
while in single run the original G3 logic for indexing and transport
is preserved.
- ** Note that this fix requires also a fix in VMC (included in 1.0.p3), which is
not yet present in Root 6.22/00. That's why the multiple engine mode works correctly
only with VMC stand-alone.
Tested with VMC 1.0.p3 and Root 6.22/00.
02/07/2020:
v3-5:
- Update masses of long lived particles possibly decayed by G3
(thanks to Ch. Zampolli, CERN)
- Fix floating point roundoff error in addressing the zebra array
(thanks to Jason Webb, BNL, STAR Experiment)
Tested with VMC 1.0.p2 and Root 6.22/00.
30/04/2020:
v3-4:
- Restored the dictionaries relocability, improve security and clean up
for packaging
Thanks to Christian Tacke, GSI.
Tested with VMC 1.0.p2 and Root 6.20/04
17/04/2020:
v3-3:
- Fixed stacking and G3 internal track indexing.
Reverted the development in commit e1a8a44 causing a break in ALICE simulation.
The calls to MCApplication::FinishPrimary() happened too early, before tracking
of the secondaries of the primary track.
Thanks to B. Volkel, CERN, Ruprecht Karls Universitaet Heidelberg.
- ** Note that this fix breaks the multiple engine mode, which will be adapted
to comply with the VMC stacking logic in the next tag. **
Tested with VMC 1.0.p1 and Root 6.20/00
31/03/2020:
v3-2:
- Fix for segmentation violation (MacOS 10.15.4)
Thanks to P. Hristov, CERN.
Tested with VMC 1.0.p1 and Root 6.20/00
14/03/2020:
v3-1:
- Fixed generation of root dictionary map
Tested with VMC 1.0 and Root 6.20/00
24/02/2020:
v3-0:
- Implemented Multiple-engine usage: with this update GEANT3 becomes capable
of running together with other engines sharing the simulation of one event.
- Added support for building against VMC stand-alone
- Updated CMake to make the installation relocatable:
- Avoid hard-coded library paths in the geant321 target:
- Added the list of selected libraries which we depend on
(ROOT_DEPS and VMC_DEPS)
- Linking the library only against this list instead of
${VMC_LIBRARIES} and ${ROOT_LIBRARIES}
and added this list in the target interface properties
- Added target_include_directories
- Added script and configuration file for clang-format and applied formatting
to all .h, .icc, .cxx files in examples, g4root, mtroot, source
- Take into account new TVirtualMCApplication::EndOfEvent(), called by MC at the end of
event before SD's end of event
Tested with VMC 1.0 and Root 6.18/04 (*)
(*) VMC 1.0 is ahead of the vmc in ROOT 6.18/04,
it includes fixes scheduled for the next ROOT tags 6.18/06 and 6.20/00.
For this reason, the new multiple engine mode works correctly only with the
VMC stand-alone or with vmc in ROOT master or v6-18-patches or v6-20-patches.
22/02/2019:
v2-7:
- Fixed stopping a track if called from MCApplication::PreTrack():
thanks to A. Morsch (CERN)
Tested with Root 6.14/06
15/01/2019:
v2-6:
- Added support for user defined sensitive detectors and new TVirtualMC::NIELEdep() function:
Details:
- Implemented new functions in TVirtualMC:
void SetSensitiveDetector(const TString &volName, TVirtualMCSensitiveDetector *sd);
TVirtualMCSensitiveDetector *GetSensitiveDetector(const TString &volName) const;
void SetExclusiveSDScoring(Bool_t exclusiveSDScoring);
TVirtualMC::NIELEdep() function
- Fixed a problem with the SAVE statement in miface/gmicap.F (thanks to P. Hristov, CERN)
this fixes a compilation error observed on centos7 with devtoolset-7-gcc-gfortran
in ALICE.
Tested with Root 5.34/38 and 6.14/06
08/09/2017:
v2-5:
- Implemented new TVirtualMC functions
void TrackPosition(Float_t &x, Float_t &y, Float_t &z) const
void TrackMomentum(Float_t &px, Float_t &py, Float_t &pz, Float_t &etot) const
Should be available in root/vmc in the next ROOT version.
- Fix linking with Clang on Linux.
(Thanks to Florian Uhlig, GSI)
- Fix in CMake: Do not override CMAKE_INSTALL_LIBDIR.
(Doing this will cause naming conflict with e.g. the CMake native
GNUInstallDirs module.)
(Thanks to Dennis Klein, GSI).
Tested with Root 5.34/36 and 6.10/04
24/05/2017:
v2-4:
- Adding a protection against division by zero in gthadr.F:
thanks to Roberto Preghenella (INFN)
- Fixed the out-of-bound error reported by ROOT::TArrayI in TGeant3TGeo::FinishGeometry()
reported by S. Wenzel, CERN (GitHub issue #2):
Tested with Root 5.34/36 and 6.08/06
07/04/2017:
v2-3:
- Add support for ROOT compiled with C++14
(thanks to Dario Berzano, CERN)
- Defined CMake policy required with newer versions of CMake
Tested with Root 5.34/36 and 6.08/06
27/09/2016:
v2-2:
- Changes for performance optimization (according to suggestion by S, Wenzel, CERN):
- Cache pointers to the thread-local static VMC objects
- Fixed floating point exception reported in ALIROOT-6837
(Thanks to S. Wenzel, CERN)
- Removed classes for G3 GUI (now obsolete)
- Removed call to deprecated function TVirtualMCApplication::Field()
Tested with Root 5.34/36 and 6.06/08
25/04/2016:
v2-1:
- Fixed building Geant3 library with optimization and set the default build mode to RelWithDebInfo
(thanks to S. Wenzel, CERN)
- Fixed compilation on 32-bit platforms (thanks to Florian Uhlig, GSI)
- Added installing data (thanks to F. Uhlig, GSI)
- 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)
Tested with Root 5.34/36 and 6.06/02
17/11/2014:
v2-0:
Replaced the old build system based on makefiles in root/etc/vmc with CMake.
By I. Hrivnacova, IPN Orsay.
Tested with Root 5.34/23 and 6.02/01
10/07/2014:
v1-15b:
From M. Kowalski: updated gfluct.F:
The changes in ILOSS=5 energy loss model (ALICE-TPC specific):
The parameters previously hardwired in the PARAMETER statement are now initialized
in the BLOCK DATA. This allows to use the parameters from OCDB in ALICE TPC code.
Tested with Root 5.34/04 and 5.34/18
25/04/2013:
v1-15a:
Fixed a problem in gtckov.F reported by Maria Patsyuk (PANDA collaboration):
the step length, total step length and tof where not updated when photon
gets in a geometrical boundary with a medium without optical properties
Tested with Root 5.34/04 and 5.34/05
28/02/2013:
v1-15:
Fixed the problem of time of flight for optical photons.
(Geant3 was using the phase velocity instead of the group velocity);
reported by M. Patsyuk (GSI)
Tested with Root 5.34/04.
27/03/2012:
v1-14:
- Increase stack to 300 particles
- Include light (anti)nuclei (Savannah #84396)
- In GetSecondary(Int_t isec, Int_t& partPDG, ...):
return the PDG code instead of G3 internal particle ID
Tested with Root 5.32/01 and 5.33/02.
16/03/2012:
v1-13:
- Include (anti)hypertriton (Savannah #90939)
- Fixes:
- fix in WriteEuclid
Tested with Root 5.32/01.
14/07/2011:
v1-12:
- Update for Geane
(M. Al-Turanny GSI; Lia Lavezzi, Alberto Rotondi, INFN Pavia)
- Adding new TVirtualMC functions in TGeant3:
CurrentBoundaryNormal(), GetMaterial()
+ clean-up of obsolete functions
- Various fixes:
- parent track Id in CollectTracks option
- fixes in Geane by Lia Lavezzi et al (r525)
- fix in Gfmate with Double_t arguments
- fix in the declaration of common GCONSX
- fix in printing of Random seed
- fix for compilation with icc
Tested with Root 5.28/00e and 5.30/00.
For the older versions, ony a table with required ROOT versions was
maintained:
Version number CVS tag Root version
-------------------------------------------------------------------
1.11 v1-11 5.24/00
1.10 v1-10 5.23/02
1.9 v1-9 5.17/08
1.8 v1-8 5.15/08
1.6 v1-6 5.12/00
1.5 v1-5 5.11/02
1.4 v1-4 5.10/00
1.3 v1-3 5.02/00
1.2 v1-2 5.01/01
1.1 v1-1 4.04/02
1.0 v1-0 4.02/00
0.8 v0-8 4.01/04
0.7 v0-7 4.01/02
0.6 v0-6 3.10/02 or 4.00/03
0.5 v0-5 3.10/02
0.4 not in CVS 3.10/01
0.31 v0-31 3.10/01
0.3 v-03 3.05/06
0.2 v0-2 3.05/03
0.1 v0_1 3.03/05