1 | <HTML> |
---|
2 | <HEAD> |
---|
3 | <TITLE>Geant4 7.0 Release Notes</TITLE> |
---|
4 | </HEAD> |
---|
5 | <BODY BGCOLOR='F0F0F0'> |
---|
6 | |
---|
7 | <P> </P> |
---|
8 | <BR> |
---|
9 | <P> </P> |
---|
10 | |
---|
11 | <P ALIGN="Center"> |
---|
12 | <FONT SIZE="+4" COLOR="#238E23"> |
---|
13 | <B>Geant4 7.0 Release Notes</B> |
---|
14 | </FONT> |
---|
15 | |
---|
16 | <TABLE WIDTH="100%"> |
---|
17 | <TR><TD ALIGN="Right"> |
---|
18 | <FONT SIZE="-1" COLOR="#5C3317"> |
---|
19 | <B><I>December 17<SUP>th</SUP>, 2004</I></B> |
---|
20 | </FONT> |
---|
21 | </TD></TR> |
---|
22 | </TABLE> |
---|
23 | |
---|
24 | <BR><BR> |
---|
25 | <HR ALIGN="Center" SIZE="7%"> |
---|
26 | <P> |
---|
27 | The code and binary libraries for the supported systems are available |
---|
28 | through our <A TARGET="ext" HREF="http://cern.ch/geant4">Source Code Web page</A>. |
---|
29 | </P> |
---|
30 | <P> |
---|
31 | Please refer to the |
---|
32 | <A TARGET="ext" HREF="http://cern.ch/geant4/G4UsersDocuments/Overview/html">Geant4 |
---|
33 | User Documentation</A> for further information about using Geant4. |
---|
34 | </P> |
---|
35 | |
---|
36 | <H2><I>Contents</I></H2> |
---|
37 | <OL> |
---|
38 | <LI><A HREF="#1.">Supported and Tested Platforms</A></LI> |
---|
39 | <LI><A HREF="#2.">AIDA and CLHEP</A></LI> |
---|
40 | <LI><A HREF="#3.">Compiler Specific Problems</A></LI> |
---|
41 | <LI><A HREF="#4.">Known Run-Time Problems</A></LI> |
---|
42 | <LI><A HREF="#5.">Compilation Warnings</A></LI> |
---|
43 | <LI><A HREF="#6.">Known Run-Time Warnings</A></LI> |
---|
44 | <LI><A HREF="#7.">Major items for migration of user code</A></LI> |
---|
45 | <LI><A HREF="#8.">Detailed list of changes and fixes</A></LI> |
---|
46 | </OL> |
---|
47 | |
---|
48 | <P> </P> |
---|
49 | <A NAME="1."></a> |
---|
50 | <HR> |
---|
51 | |
---|
52 | <!-- ============================================== --> |
---|
53 | |
---|
54 | <H2>1. Supported and Tested Platforms</H2> |
---|
55 | |
---|
56 | Official platforms: |
---|
57 | <UL> |
---|
58 | <LI>SUN Solaris 5.8, C++ CC-5.4 Patch 111715-02.</LI> |
---|
59 | <LI>Linux, gcc 3.2.3.<BR> |
---|
60 | This configuration was tested on <I>32 bits architectures</I> with |
---|
61 | the Scientific Linux CERN 3 (SLC3) distribution (based on RedHat Linux |
---|
62 | Enterprise 3) and also with RedHat 7.3. |
---|
63 | Versions of Geant4 have also been compiled successfully on other |
---|
64 | Linux distributions, like Debian, Suse or more recent RedHat systems. |
---|
65 | The default RedHat compiler gcc-2.96 distributed in RedHat 7.X is NOT |
---|
66 | supported. It has been verified that it produces incorrect binaries, |
---|
67 | therefore is not reliable. See also <A HREF="#note-1">note below</A>.</LI> |
---|
68 | <LI>Windows/XP and CygWin Tools with: Visual C++ 7.1 .NET</LI> |
---|
69 | </UL> |
---|
70 | |
---|
71 | More verified configurations: |
---|
72 | <UL> |
---|
73 | <LI>SUN Solaris 5.8, C++ CC-5.5.</LI> |
---|
74 | <LI>Linux, gcc 3.4.3.</LI> |
---|
75 | <LI>Linux, Intel-icc 8.0.</LI> |
---|
76 | <LI>MacOS 10.3, gcc-3.3</LI> |
---|
77 | </UL> |
---|
78 | |
---|
79 | Platforms configured but not tested and not supported: |
---|
80 | <UL> |
---|
81 | <LI>AIX 4.3.2, xlC 6.0</LI> |
---|
82 | <LI>DEC V4.0, cxx C++ V6.1-027</LI> |
---|
83 | <LI>HP 10.20, aCC C++ B3910B A.01.23</LI> |
---|
84 | <LI>SGI V6.5.5, CC 7.2.1</LI> |
---|
85 | </UL> |
---|
86 | |
---|
87 | <P> </P> |
---|
88 | <A NAME="2."></A> |
---|
89 | <HR> |
---|
90 | |
---|
91 | <!-- ============================================== --> |
---|
92 | |
---|
93 | <H2>2. AIDA and CLHEP</H2> |
---|
94 | |
---|
95 | Geant4 7.0 requires the <A TARGET="ext" |
---|
96 | HREF="http://cern.ch/clhep/INSTALLATION/clhep.html">installation |
---|
97 | of CLHEP</A>.<BR> |
---|
98 | Tests have been performed with <B>CLHEP-1.8.1.0</B><BR> |
---|
99 | The software has been verified also with <B>CLHEP-1.9.1.2</B>.<BR> |
---|
100 | <P> </P> |
---|
101 | Geant4 7.0 examples with histogramming cowork with AIDA 3.2.1 |
---|
102 | implementations. These include: |
---|
103 | <UL> |
---|
104 | <LI><A TARGET="ext" HREF="http://cern.ch/PI">PI</A> and included components</LI> |
---|
105 | <LI><A TARGET="ext" HREF="http://jas.freehep.org">JAS (Java Analysis Studio)</A></LI> |
---|
106 | <LI><A TARGET="ext" HREF="http://www.lal.in2p3.fr/OpenScientist">Open Scientist</A></LI> |
---|
107 | </UL> |
---|
108 | |
---|
109 | AIDA headers can be downloaded from: |
---|
110 | <A TARGET="ext" HREF="http://aida.freehep.org">http://aida.freehep.org</A> |
---|
111 | |
---|
112 | |
---|
113 | <P> </P> |
---|
114 | <A NAME="3."></A> |
---|
115 | <HR> |
---|
116 | |
---|
117 | <!-- ============================================== --> |
---|
118 | |
---|
119 | <H2>3. Compiler Specific Problems</H2> |
---|
120 | |
---|
121 | <UL> |
---|
122 | <LI><A NAME="note-1"><B>Linux Red Hat 7.X, gcc-2.96</B></A>. |
---|
123 | <UL> |
---|
124 | <LI>The default compiler distributed by Red Hat since release 7.0 is |
---|
125 | NOT supported and not considered reliable for running a Geant4-based |
---|
126 | application. In more than one test case, binaries produced by gcc-2.96 |
---|
127 | have shown incorrect behavior, either due to wrong order of |
---|
128 | initialisation of static data in memory or to bugs in the system |
---|
129 | <TT>iostream</TT> classes, problems which apparently have all been |
---|
130 | solved in more recent versions of the compiler (3.X series).<BR> |
---|
131 | For information, gcc-2.96 is a compiler that has never been |
---|
132 | officially released, nor supported by the GNU team itself and is not |
---|
133 | considered reliable by the authors (for more information, see also |
---|
134 | <A TARGET="ext" HREF="http://gcc.gnu.org/gcc-2.96.html">http://gcc.gnu.org/gcc-2.96.html</A>).</LI> |
---|
135 | </UL></LI> |
---|
136 | </UL> |
---|
137 | |
---|
138 | <P> </P> |
---|
139 | <A NAME="4."></A> |
---|
140 | <HR> |
---|
141 | |
---|
142 | <!-- ============================================== --> |
---|
143 | |
---|
144 | <H2>4. Known Run-Time Problems and Limitations</H2> |
---|
145 | |
---|
146 | For a complete list of outstanding run-time problems and to submit any |
---|
147 | problem you may find running this version of Geant4, please refer to the |
---|
148 | <A TARGET="ext" HREF="http://cern.ch/geant4/problemreport">Geant4 Problem Reporting |
---|
149 | System</A>. |
---|
150 | |
---|
151 | |
---|
152 | <P> </P> |
---|
153 | <A NAME="5."></A> |
---|
154 | <HR> |
---|
155 | |
---|
156 | <!-- ============================================== --> |
---|
157 | |
---|
158 | <H2>5. Compilation Warnings</H2> |
---|
159 | |
---|
160 | There may be compilation warnings on some platforms. We do not believe |
---|
161 | that any will lead to incorrect run-time behaviour. |
---|
162 | |
---|
163 | |
---|
164 | <P> </P> |
---|
165 | <A NAME="6."></A> |
---|
166 | <HR> |
---|
167 | |
---|
168 | <!-- ============================================== --> |
---|
169 | |
---|
170 | <H2>6. Known Run-Time Warnings</H2> |
---|
171 | |
---|
172 | The following message can be written to error output while tracking. |
---|
173 | We believe it does not give rise to incorrect behaviour. |
---|
174 | <PRE> |
---|
175 | G4PropagateInField: Warning: Particle is looping |
---|
176 | - tracking in field will be stopped. |
---|
177 | It has performed 1000 steps in Field while a maximum of 1000 |
---|
178 | are allowed. |
---|
179 | </PRE> |
---|
180 | |
---|
181 | |
---|
182 | <P> </P> |
---|
183 | <A NAME="7."></A> |
---|
184 | <HR> |
---|
185 | |
---|
186 | <!-- ============================================== --> |
---|
187 | |
---|
188 | <H2>7. Major items for migration of user code</H2> |
---|
189 | |
---|
190 | Some migrations are necessary in different areas of the user code in |
---|
191 | order to upgrade from release 6.2 to release 7.0, |
---|
192 | a full recompilation and/or reinstallation of libraries and user |
---|
193 | applications is moreover required. |
---|
194 | |
---|
195 | <P> </P> |
---|
196 | <B>Direct usage of <TT><cmath></TT> for standard mathematical functions</B> |
---|
197 | <P> </P> |
---|
198 | In this release the Geant4 code makes now direct usage of <TT><cmath></TT> |
---|
199 | for standard mathematical functions. All direct/indirect inclusions of |
---|
200 | <TT><math.h></TT> have been removed.<BR> |
---|
201 | To be compliant with this migration, the user code should be modified as well, |
---|
202 | by adopting either one of the following approaches: |
---|
203 | <UL> |
---|
204 | <LI>Put in front of the following standard mathematical functions the <TT>std::</TT> |
---|
205 | prefix for the namespace: |
---|
206 | <PRE> |
---|
207 | pow(), exp(), sqrt(), log(), log10(), sin(), cos(), tan(), |
---|
208 | sinh(), cosh(), tanh(), asin(), acos(), atan(), atan2(), |
---|
209 | ceil(), floor(), fabs(), fmod(), frexp(), ldexp(), modf() |
---|
210 | </PRE></LI> |
---|
211 | <LI>Alternatively, for places where code readability is a concern, add in source |
---|
212 | files (not headers or inline methods, and after the headers inclusions), the |
---|
213 | statement: |
---|
214 | <PRE> |
---|
215 | using namespace std; </UL> |
---|
216 | </PRE> |
---|
217 | </UL> |
---|
218 | As part of this migration also standard headers like: |
---|
219 | <PRE> |
---|
220 | <math.h>, <limits.h>, <stdlib.h> |
---|
221 | </PRE> |
---|
222 | are no longer indirectly included. This may require the user code to include |
---|
223 | them if/where necessary.<BR> |
---|
224 | To be noticed also that this migration involves also the <I>removal</I> of |
---|
225 | usage of the ad-hoc template function originally defined in CLHEP: |
---|
226 | <PRE> |
---|
227 | T abs(T) |
---|
228 | </PRE> |
---|
229 | So the definition of this function will not be any longer available in a |
---|
230 | indirect way. The standard mathematical function: |
---|
231 | <PRE> |
---|
232 | std::abs() |
---|
233 | </PRE> |
---|
234 | will have to be used instead. |
---|
235 | |
---|
236 | <P> </P> |
---|
237 | <B>New Installation procedure for the <TT>Configure</TT> script</B> |
---|
238 | <P> </P> |
---|
239 | The installation procedure of the kernel libraries using the <TT>Configure</TT> script |
---|
240 | has changed. It is now required to specify the final area of installation for the |
---|
241 | libraries and sources; libraries are now first built in the local directory |
---|
242 | where the source has been downloaded and unpacked; and will be later-on installed |
---|
243 | in the specified installation area (requiring <TT>root</TT> priviledges if |
---|
244 | necessary). |
---|
245 | See the <A href="http://cern.ch/geant4/G4UsersDocuments/UsersGuides/InstallationGuide/html">Installation |
---|
246 | Guide</A> for the details. |
---|
247 | |
---|
248 | <P> </P> |
---|
249 | <B>Migration for usage of the <TT>G4VParticleChange</TT> class</B> |
---|
250 | <P> </P> |
---|
251 | An interface change to the class <TT>G4VParticleChange</TT> is implemented |
---|
252 | in Geant4 7.0. Advanced users, who have implemented a physics process should |
---|
253 | be aware that the following methods have been removed: |
---|
254 | <PRE> |
---|
255 | void SetTrueStepLength(G4double truePathLength); |
---|
256 | void SetLocalEnergyDeposit(G4double anEnergyPart); |
---|
257 | G4TrackStatus GetStatusChange() const; |
---|
258 | void SetStatusChange(G4TrackStatus status); |
---|
259 | void SetSteppingControl(G4SteppingControl StepControlFlag); |
---|
260 | void SetParentWeight(G4double); |
---|
261 | </PRE> |
---|
262 | They have been replaced by the following methods, respectively: |
---|
263 | <PRE> |
---|
264 | void ProposeTrueStepLength(G4double truePathLength); |
---|
265 | void ProposeLocalEnergyDeposit(G4double anEnergyPart); |
---|
266 | G4TrackStatus GetTrackStatus() const; |
---|
267 | void ProposeTrackStatus(G4TrackStatus status); |
---|
268 | void ProposeSteppingControl(G4SteppingControl StepControlFlag); |
---|
269 | void ProposeParentWeight(G4double); |
---|
270 | </PRE> |
---|
271 | For the detailed list of all interface changes involved in <TT>G4VParticleChange</TT>, |
---|
272 | please consult: |
---|
273 | <A HREF="http://cern.ch/geant4/source/source/migration_70.html">http://cern.ch/geant4/source/source/migration_70.html</A>. |
---|
274 | |
---|
275 | <P> </P> |
---|
276 | <B>Step limitation</B> |
---|
277 | <P> </P> |
---|
278 | A user now needs to change his/her code, in order to limit the step size of a |
---|
279 | particle -- when using the class <TT>G4UserLimits</TT> to limit the step. |
---|
280 | |
---|
281 | Up to the previous release, step limitation due to the maximum step length |
---|
282 | of <TT>G4UserLimits</TT> was directly done by <TT>G4SteppingManager</TT>, |
---|
283 | while all other limits (<TT>maxTrackLength</TT>, <TT>maxStepNumber</TT>, |
---|
284 | <TT>MinKinEnergy</TT> and <TT>minRemainRange</TT>) were dealt by |
---|
285 | <TT>G4UserSpecialCuts</TT> process. To solve this inconsistency, |
---|
286 | to simplify the majority of applications which do not utilize the step limitation, |
---|
287 | and to give more usability to the user, we introduce a new |
---|
288 | process <TT>G4StepLimiter</TT> and move the step limitation procedure in |
---|
289 | <TT>G4SteppingManager</TT> to this new process. |
---|
290 | <UL> |
---|
291 | <LI>The new process, <TT>G4StepLimiter</TT>, limits the step size specified by |
---|
292 | <TT>G4UserLimits</TT>, but will not kill a track.</LI> |
---|
293 | <LI><TT>G4UserLimits</TT> class is kept as it is, and can specify all limits as before.</LI> |
---|
294 | <LI><TT>G4UserSpecialCuts</TT> is kept as it is. This process kills |
---|
295 | a track once the track comes to a limit specified by <TT>G4UserLimits</TT> (as |
---|
296 | it did previously). This provides the user the ability |
---|
297 | to impose one or more kinds of "tracking cuts".</LI> |
---|
298 | <LI>Given no process took place for max step length limitation in the old design, |
---|
299 | <TT>G4StepPoint::GetProcessDefinedStep()</TT> method used to return <TT>NULL</TT>. |
---|
300 | In the new scheme, if a step is limited by the maximum step |
---|
301 | length limitation, this method now returns a valid pointer of <TT>G4StepLimiter</TT> |
---|
302 | process.</LI> |
---|
303 | </UL> |
---|
304 | The user who is using the step length limitation MUST include the new <TT>G4StepLimiter</TT> |
---|
305 | process in the physics-list explicitly. This new process may be assigned only to the |
---|
306 | selected particle types (e.g. only to the charged particles) instead of setting it to |
---|
307 | all particle types.<BR> |
---|
308 | No change is required for the user who is NOT using <TT>G4UserLimits</TT> for the |
---|
309 | purpose of maximum step limitation. |
---|
310 | |
---|
311 | <!-- ---------------------------------------------- --> |
---|
312 | <P> </P> |
---|
313 | <B>Killing of a particle</B> |
---|
314 | <P> </P> |
---|
315 | An advanced user who has created a process with a continuous component |
---|
316 | ('AlongStep' action) that can kill or bring a particle to a rest will need to |
---|
317 | review their process implementation. |
---|
318 | |
---|
319 | Energy-loss processes no longer change the track status of a charged particle |
---|
320 | as part of their <TT>AlongStepDoIt()</TT> action. |
---|
321 | For a user-defined process with a "continuous" component, |
---|
322 | in order to stop (and thus either kill or bring to a rest in an 'alive' state) |
---|
323 | a particle in its <TT>AlongStepDoIt()</TT> method, |
---|
324 | it is now necessary to propose zero kinetic energy for the particle. |
---|
325 | Alternatively a process can contribute to the particle arriving at zero energy, |
---|
326 | as a result of the action of two or more processes, e.g. energy loss and |
---|
327 | propagation in an electric field (in the transportation process). |
---|
328 | |
---|
329 | Once a particle has zero (or less) proposed energy, it is brought to a rest |
---|
330 | and its energy is set exactly to zero. |
---|
331 | If the particle can decay, can be annihilated or generally has one or more |
---|
332 | 'AtRest' actions, then another step will be performed that calls these; |
---|
333 | else, the particle is killed. |
---|
334 | The discrete component (or 'PostStep' action) of a process will not be |
---|
335 | performed once the particle has come to a stop.<BR> |
---|
336 | <I>Note</I>: the case of a particle that comes to a rest in a field and is |
---|
337 | then re-accelerated, is not supported at this time. |
---|
338 | |
---|
339 | <!-- ---------------------------------------------- --> |
---|
340 | <P> </P> |
---|
341 | <B>Future migration for <TT>G4GeneralParticleSource</TT> class</B> |
---|
342 | <P> </P> |
---|
343 | A 'tree-structured' command format is implemented in this release for |
---|
344 | <TT>G4GeneralParticleSource</TT>. The old UI commands have been kept |
---|
345 | for backward compatibility but will be removed in the future.<BR> |
---|
346 | For more information, please consult: |
---|
347 | <A HREF="http://reat.space.qinetiq.com/gps">http://reat.space.qinetiq.com/gps</A>. |
---|
348 | |
---|
349 | <P> </P> |
---|
350 | <A NAME="8."></A> |
---|
351 | <HR> |
---|
352 | |
---|
353 | <!-- ============================================== --> |
---|
354 | |
---|
355 | <H2>8. Detailed list of changes and fixes</H2> |
---|
356 | |
---|
357 | These are the main new features/fixes included in this release since the |
---|
358 | last patched public release (for the detailed list of fixes/additions, |
---|
359 | please refer to the related History files provided in most packages): |
---|
360 | |
---|
361 | <P> </P> |
---|
362 | |
---|
363 | <UL> |
---|
364 | <LI>Implemented migration to <TT><cmath></TT> for standard mathematical |
---|
365 | functions.</LI> |
---|
366 | </UL> |
---|
367 | |
---|
368 | <A NAME="conf-notes"> |
---|
369 | <H3><I>Configuration</I></H3></A> |
---|
370 | <UL> |
---|
371 | <LI><TT>Configure</TT> script: now installing libraries in specified |
---|
372 | installation area. Installation happens now in two steps: libraries are |
---|
373 | first built locally and later-on installed. Defined new commands: |
---|
374 | <UL> |
---|
375 | <LI><TT>Configure -build</TT>: to start the configuration process and |
---|
376 | locally build the libraries.</LI> |
---|
377 | <LI><TT>Configure -install</TT>: to install libraries and sources in |
---|
378 | the specified installation area.</LI> |
---|
379 | </UL></LI> |
---|
380 | <LI>Archived setup for Windows/VC++6 and removed WIN32-VC7 G4SYSTEM tag, |
---|
381 | now replaced by WIN32-VC, setup for VC++ .NET.</LI> |
---|
382 | <LI>Relaxed compilation options for SUN-CC.</LI> |
---|
383 | <LI>Darwin-g++.gmk: |
---|
384 | <UL> |
---|
385 | <LI>Added -lXi to X11LIBS.</LI> |
---|
386 | <LI>Corrected options to build granular shared libs. |
---|
387 | Have "-undefined define_a_way" instead of "-undefined error".</LI> |
---|
388 | </UL></LI> |
---|
389 | </UL> |
---|
390 | |
---|
391 | <A NAME="dgt-notes"> |
---|
392 | <H3><I>Digitization & Hits</I></H3></A> |
---|
393 | <UL> |
---|
394 | <LI><TT>G4VDigi</TT>: added methods to store and retrieve HepRep attributes |
---|
395 | in same manner as currently done for trajectories and hits.</LI> |
---|
396 | </UL> |
---|
397 | |
---|
398 | <A NAME="emlow-notes"> |
---|
399 | <H3><I>Electromagnetic Processes (Low-energy)</I></H3></A> |
---|
400 | <UL> |
---|
401 | <LI>Fixes to tables manipulation, effective charge, graphite problem and |
---|
402 | Bremsstrhalung low energy edge of the spectrum.</LI> |
---|
403 | <LI>Revision of G4LowEnergyPhotoelectric to allow for new development of |
---|
404 | precise angular distributions.</LI> |
---|
405 | <LI>Improved parameterised PIXE model based on Paul & Sacher review; it |
---|
406 | becomes the default one.</LI> |
---|
407 | <LI>Software improvement in G4PenelopeCompton.</LI> |
---|
408 | <LI>Implemented migration of processes to new <TT>G4VParticleChange</TT> |
---|
409 | interfaces.</LI> |
---|
410 | </UL> |
---|
411 | |
---|
412 | <A NAME="emstd-notes"> |
---|
413 | <H3><I>Electromagnetic Processes (Standard)</I></H3></A> |
---|
414 | <UL> |
---|
415 | <LI>Added new process: positron annihilation to pion pair (<TT>G4eeToHadrons</TT>).</LI> |
---|
416 | <LI>Added new utility class: <TT>G4EmCalculator</TT>, to access/calculate dedx, range, |
---|
417 | cross sections of EM processes.</LI> |
---|
418 | <LI>Migrated to new scheme for store/retrieve Physics Tables: |
---|
419 | new sequence of initialisation of EnergyLoss process: first PreparePhysicsTable, |
---|
420 | then BuildPhysicsTable or RetreivePhysicsTable. Do not rebuild G4PhysicsVector if |
---|
421 | cuts were not changed for given <TT>G4MaterialCutsCouple</TT>.</LI> |
---|
422 | <LI>Restructured subdirectories: multiple-scattering and other concrete models have |
---|
423 | been moved from utils to standard and a new package (<TT>highenergy</TT>) has been |
---|
424 | created.</LI> |
---|
425 | <LI>Migrated processes to new interface for <TT>G4VParticleChange</TT>.</LI> |
---|
426 | <LI><B>Multiple Scattering</B> |
---|
427 | <UL> |
---|
428 | <LI>Changes in the angle distribution (slightly modified Highland formula for the |
---|
429 | width of the central part, changes in the numerical values of some other |
---|
430 | parameters) ---> approximately step independent distribution.</LI> |
---|
431 | <LI>Correction in <TT>SampleCosineTheta</TT> in order to avoid numerical precision |
---|
432 | problems at high energy/small step.</LI> |
---|
433 | <LI>Fix precision problem for very high energy ions in gases (or with |
---|
434 | small stepsize) has been solved in <TT>G4MscModel</TT>.</LI> |
---|
435 | </UL></LI> |
---|
436 | <LI><B>proton Ionization</B> |
---|
437 | <UL> |
---|
438 | <LI>Extended <TT>G4BraggModel</TT> below <TT>1 keV</TT></LI> |
---|
439 | </UL></LI> |
---|
440 | <LI><B>Ion Ionization</B> |
---|
441 | <UL> |
---|
442 | <LI>Decoupled <TT>G4ionIonisation</TT> process from proton ionisation, |
---|
443 | use alpha stopping power tables for simulation of ion ionisation.</LI> |
---|
444 | <LI>Added <TT>G4ionEffectiveCharge</TT> class needed to ion physics.</LI> |
---|
445 | </UL></LI> |
---|
446 | <LI><B>mu Ionization</B> |
---|
447 | <UL> |
---|
448 | <LI>Fixed a problem observed after deactivation of muon ionisation.</LI> |
---|
449 | <LI>Provide a possibility to use the same EnergyLoss process class for |
---|
450 | several particles (mu+ and mu-)</LI> |
---|
451 | <LI>Changed process names: Mu -> mu.</LI> |
---|
452 | </UL></LI> |
---|
453 | <LI><B>PAIonization</B> |
---|
454 | <UL> |
---|
455 | <LI>Removed <TT>G4PAIonisation</TT>; provided two new models of PAI ionisation |
---|
456 | and example <TT>TestEm8</TT> to demonstrate how to use these models. Provided |
---|
457 | possibility to use PAI per region; any low cut should be established for |
---|
458 | the PAI model.</LI> |
---|
459 | <LI>Removed <TT>G4IonisationByLogicalVolume</TT>.</LI> |
---|
460 | </UL></LI> |
---|
461 | <LI><B>All EnergyLoss processes</B> |
---|
462 | <UL> |
---|
463 | <LI>Removed <TT>ProposeTrackStatus()</TT> from AlongStep for EnergyLoss processes, |
---|
464 | this action becomes under responsibility of <TT>G4SteppingManager</TT>.</LI> |
---|
465 | </UL></LI> |
---|
466 | <LI><B>Pair production by muon</B> |
---|
467 | <UL> |
---|
468 | <LI>Fixed bug in calculation of cross section of pair production by muons.</LI> |
---|
469 | </UL></LI> |
---|
470 | <LI><B>eBremsstrahlung</B> |
---|
471 | <UL> |
---|
472 | <LI>Added a threshold for <TT>G4eBremsstrahlung</TT> process, if emitted gamma is |
---|
473 | above the threshold, incoming track is killed and is added to the list of |
---|
474 | secondary particles.</LI> |
---|
475 | </UL></LI> |
---|
476 | <LI><B>Compton Scattering</B> |
---|
477 | <UL> |
---|
478 | <LI>Improved <TT>totalCrossSection</TT> parameterisation below <TT>15 keV</TT>.</LI> |
---|
479 | </UL></LI> |
---|
480 | </UL> |
---|
481 | |
---|
482 | <A NAME="evt-notes"> |
---|
483 | <H3><I>Event</I></H3></A> |
---|
484 | <UL> |
---|
485 | <LI>Made <TT>G4PrimaryTransformer</TT> a base class to allow for users to customize treatment |
---|
486 | of particle types, especially those exotic to Geant4.</LI> |
---|
487 | <LI>Added treatment of <TT>G4UnknownParticle</TT> to |
---|
488 | <TT>G4PrimaryTransformer</TT>.</LI> |
---|
489 | <LI><TT>G4GeneralParticleSource</TT>: added new features, focused beam and |
---|
490 | multiple vertices.</LI> |
---|
491 | </UL> |
---|
492 | |
---|
493 | <A NAME="gen-notes"> |
---|
494 | <H3><I>General Processes, Parameterisation, Cuts, Decay, Optical</I></H3></A> |
---|
495 | <UL> |
---|
496 | <LI>Migrated processes to new interface for <TT>G4VParticleChange</TT>.</LI> |
---|
497 | <LI><B>Cuts</B>: |
---|
498 | <UL> |
---|
499 | <LI>Added <TT>G4PhysicsTableHelper</TT> class in order to assist |
---|
500 | implementation of new scheme of <TT>Store/RetrievePhysicsTable()</TT> |
---|
501 | for processes.</LI> |
---|
502 | <LI>Added <TT>G4MCCIndexConversionTable</TT> class and modified |
---|
503 | <TT>G4ProductionCutsTable</TT> in order to extend functionality of |
---|
504 | <TT>Store/RetrievePhysicsTable()</TT>.</LI> |
---|
505 | </UL></LI> |
---|
506 | <LI><B>Decay</B>: |
---|
507 | <UL> |
---|
508 | <LI>Introduced <TT>G4UnknownDecay</TT> class. |
---|
509 | <LI>Added a new method <TT>GetRemainderLifeTime()</TT> to <TT>G4Decay</TT>.</LI> |
---|
510 | </UL></LI> |
---|
511 | <LI><B>Management</B>: |
---|
512 | <UL> |
---|
513 | <LI>Added <TT>PreparePhysicsTable()</TT> method in <TT>G4VProcess</TT>.</LI> |
---|
514 | <LI>Added <TT>const</TT> cast for arguments in |
---|
515 | <TT>Store/RetrievePhysicsTable()</TT>.</LI> |
---|
516 | </UL></LI> |
---|
517 | <LI><B>Optical</B>: |
---|
518 | <UL> |
---|
519 | <LI>Fixed bug in DielectricMetal only <TT>GetFacetNormal()</TT> for |
---|
520 | LobeReflection.</LI> |
---|
521 | </UL></LI> |
---|
522 | <LI><B>Transportation</B>: |
---|
523 | <UL> |
---|
524 | <LI>Introduced <TT>G4StepLimiter</TT> to handle <TT>MaxAllowedStep</TT> |
---|
525 | in <TT>G4UserLimits</TT>.</LI> |
---|
526 | <LI>Added pointer to sensitive detector in <TT>G4ParticleChangeForTransport</TT> |
---|
527 | and updated <TT>G4Transportation</TT> to make use of it.</LI> |
---|
528 | <LI>Added protection in <TT>G4Transportation</TT> for specific case of |
---|
529 | parameterised volumes by materials where no EM processes are defined.</LI> |
---|
530 | <LI>Added threshold energy for not abandoning stuck particles quickly in |
---|
531 | <TT>G4Transportation</TT>.</LI> |
---|
532 | <LI><TT>G4UserSpecialCuts</TT>: apply tracking cut only if <TT>Rmin</TT> or |
---|
533 | <TT>Emin > DBL_MIN</TT>.</LI> |
---|
534 | </UL> |
---|
535 | </UL> |
---|
536 | |
---|
537 | <A NAME="geo-notes"> |
---|
538 | <H3><I>Geometry</I></H3></A> |
---|
539 | <UL> |
---|
540 | <LI><B>Magnetic Field</B> |
---|
541 | <UL> |
---|
542 | <LI>Added <TT>Set/GetAnomaly()</TT> methods in <TT>G4Mag_SpinEqRhs</TT> |
---|
543 | equation of motion.</LI> |
---|
544 | </UL></LI> |
---|
545 | <LI><B>Management</B> |
---|
546 | <UL> |
---|
547 | <LI>Introduced abstract class <TT>G4VStoreNotifier</TT> to be optionally |
---|
548 | associated to stores by the user for the notification of the registration |
---|
549 | and deregistration of objects in the stores.</LI> |
---|
550 | <LI>Added notification mechanism to volume, solid, and region stores.</LI> |
---|
551 | <LI><TT>G4VTouchable</TT>: added <TT>GetCopyNumber()</TT> method, clone of |
---|
552 | <TT>GetReplicaNumber()</TT>.</LI> |
---|
553 | <LI>Introduced virtual method <TT>GetCubicVolume()</TT> to <TT>G4VSolid</TT>, |
---|
554 | returning an estimation of the solid volume in internal units. This method |
---|
555 | may be overloaded by derived classes to compute the exact geometrical |
---|
556 | quantity for solids where this is possible, or anyway to cache the |
---|
557 | computed value. By default it uses the new protected method |
---|
558 | <TT>EstimateCubicVolume(stat, eps)</TT> with fixed statistics and error |
---|
559 | accuracy, and does not cache the computed value.</LI> |
---|
560 | <LI>Added <TT>GetPolyhedron()</TT> to <TT>G4VPhysicalVolume</TT>, a smart access |
---|
561 | function that creates a <TT>G4Polyhedron</TT> on request and stores for |
---|
562 | future access. A null pointer means "not available".</LI> |
---|
563 | <LI><TT>G4LogicalVolume</TT>: |
---|
564 | <UL> |
---|
565 | <LI>Added method <TT>GetMass()</TT> to <TT>G4LogicalVolume</TT>, returning |
---|
566 | the value in absolute units of the mass of the logical volume tree. |
---|
567 | The mass is computed from the estimated geometrical volume of each solid |
---|
568 | and material's density associated to the logical volume and its daughters. |
---|
569 | The returned value is cached and can be used for successive calls (default), |
---|
570 | unless recomputation is forced by providing <TT>true</TT> as the first boolean |
---|
571 | argument in input. Computation should be forced if the geometry setup has |
---|
572 | changed after the previous call. An optional argument to specify a material |
---|
573 | is provided; it is implicitely used for geometrical parameterisations by |
---|
574 | material.</LI> |
---|
575 | <LI>Added method <TT>TotalVolumeEntities()</TT> to <TT>G4LogicalVolume</TT>, |
---|
576 | returning the total number of physical volumes (placed or |
---|
577 | replicated/parameterised) included in the tree represented by the current |
---|
578 | logical volume.</LI> |
---|
579 | <LI>Fix in <TT>UpdateMaterial()</TT> for checking the existance of |
---|
580 | root-region pointer for logical-volume. Fixes report #684.</LI> |
---|
581 | </UL></LI> |
---|
582 | </UL></LI> |
---|
583 | <LI><B>Navigation</B> |
---|
584 | <UL> |
---|
585 | <LI><TT>G4Navigator</TT>: |
---|
586 | <UL> |
---|
587 | <LI>Added new access method <TT>SeverityOfZeroStepping()</TT>.</LI> |
---|
588 | <LI>Allow consecutive corrections for stuck tracks in <TT>ComputeStep()</TT> |
---|
589 | up to 10 times before aborting the event.</LI> |
---|
590 | </UL></LI> |
---|
591 | <LI><TT>G4ReplicaNavigation</TT>: fix in <TT>DistanceToOutPhi()</TT> for the case |
---|
592 | of phi sections on convex surfaces. Fixes problem report #651.</LI> |
---|
593 | </UL></LI> |
---|
594 | <LI><B>Solids</B> |
---|
595 | <UL> |
---|
596 | <LI>Added specific implementation for <TT>GetCubicVolume()</TT> wherever possible |
---|
597 | and implemented caching of the computed value for all solids.</LI> |
---|
598 | <LI>Added specific <TT>GetPolyhedron()</TT> to solids, a smart access function |
---|
599 | that creates a <TT>G4Polyhedron</TT> on request and stores for future access. |
---|
600 | A null pointer means "not available".</LI> |
---|
601 | <LI><I>CSG solids</I>: |
---|
602 | <UL> |
---|
603 | <LI><TT>G4Trap</TT>: added check for X-centering in constructor by verteces. |
---|
604 | Fixes problem report #687.</LI> |
---|
605 | </UL></LI> |
---|
606 | <LI><I>Specific solids</I>: |
---|
607 | <UL> |
---|
608 | <LI>Added new <TT>G4TwistedBox</TT> shape: a twisted box with twist angle |
---|
609 | alpha, length a/2,b/2,L/2.</LI> |
---|
610 | <LI>Added new <TT>G4TwistedTrap</TT> shape: a twisted trapezoid with twist |
---|
611 | angle alpha and same trapezoidal caps.</LI> |
---|
612 | <LI>Fixes in <TT>G4VSurface</TT>: |
---|
613 | <UL> |
---|
614 | <LI><TT>GetNeighbours()</TT>: corrected axiscode (was returning the wrong |
---|
615 | neighbours).</LI> |
---|
616 | <LI><TT>SetNeighbours()</TT>: fixed problem #685 |
---|
617 | (index out of range).</LI> |
---|
618 | </UL></LI> |
---|
619 | <LI>Fix in <TT>G4PolyconeSide::Inside()</TT> for points at radius = 0 for phi |
---|
620 | slides solids with an inner radius. Addresses problem report #598.</LI> |
---|
621 | </UL></LI> |
---|
622 | </UL></LI> |
---|
623 | <LI><B>Volumes</B> |
---|
624 | <UL> |
---|
625 | <LI><TT>G4ReflectionFactory</TT>: added automatic reflection for visualization |
---|
626 | attributes, biasing weights and regions associated to the logical volume.</LI> |
---|
627 | </UL></LI> |
---|
628 | </UL> |
---|
629 | |
---|
630 | <A NAME="glob-notes"> |
---|
631 | <H3><I>Global</I></H3></A> |
---|
632 | <UL> |
---|
633 | <LI>New implementation of <TT>G4Allocator</TT> based on a pool of memory-chunks. |
---|
634 | The size of a single chunk is kept at 1Kb as for the old allocator. |
---|
635 | This implementation replaces the old <TT>G4Allocator</TT> which was based on |
---|
636 | pages and no longer portable on the gcc-3.4.X compilers. |
---|
637 | The new allocator also supports the standard interface required for STL |
---|
638 | containers, in case it will be used as alternative allocator instead of |
---|
639 | the default <TT>std::allocator</TT>.<BR> |
---|
640 | Added inclusion of <TT><cstddef></TT> to <TT>G4Allocator.hh</TT> to make the |
---|
641 | header self-consistent.</LI> |
---|
642 | <LI>Migrated code to use <TT>std</TT> namespace for mathematical functions |
---|
643 | included from <TT><cmath></TT>. Removed explicit inclusion of <TT>CLHEP.h</TT> and |
---|
644 | therefore also implicit inclusions of system headers <TT><math.h></TT>, |
---|
645 | <TT><stdlib.h></TT> and <TT><limits.h></TT>.</LI> |
---|
646 | <LI>Removed implicit inclusion of CLHEP's template function <TT>abs()</TT>, use |
---|
647 | now standard function <TT>std::abs()</TT> instead.</LI> |
---|
648 | <LI><TT>G4PhysicsTable</TT>: |
---|
649 | <UL> |
---|
650 | <LI>Added collection of flags and related methods. The collection of boolean |
---|
651 | values will be used by physics processes to flag if recomputation will be |
---|
652 | required or not.</LI> |
---|
653 | <LI>Code cleanup and added <TT>Push_back()</TT> method.</LI> |
---|
654 | </UL></LI> |
---|
655 | <LI>Added global function <TT>G4RandomDirection()</TT> providing a random 3-vector |
---|
656 | normalised in 4pi.</LI> |
---|
657 | <LI>Cleared obsolete setup for min/max macros required for Windows/VC++6.</LI> |
---|
658 | </UL> |
---|
659 | |
---|
660 | <A NAME="greps-notes"> |
---|
661 | <H3><I>Graphical Representations</I></H3></A> |
---|
662 | <UL> |
---|
663 | <LI>Introduced forced auxiliary edge visible in <TT>G4VisAttributes</TT>.</LI> |
---|
664 | <LI>Removed <TT>G4Polymarker::line</TT>. Use <TT>G4Polyline</TT> instead.</LI> |
---|
665 | <LI><TT>HepPolyhedron</TT>, <TT>BooleanProcessor</TT>: replaced occurences of |
---|
666 | <TT>HepStd</TT> with <TT>std</TT>.</LI> |
---|
667 | </UL> |
---|
668 | |
---|
669 | <A NAME="had-notes"> |
---|
670 | <H3><I>Hadronic Processes</I></H3></A> |
---|
671 | <UL> |
---|
672 | <LI>Migrated processes to new interface for <TT>G4VParticleChange</TT>.</LI> |
---|
673 | <LI>Improved treatment of cross-sections, and neutrons to improve on the ATLAS/HEC |
---|
674 | shower-shape description for the QGSP physics list.</LI> |
---|
675 | <LI>cross_sections |
---|
676 | <UL> |
---|
677 | <LI>Updating pion cross-sections for copper, to be more closely consistent |
---|
678 | with data.</LI> |
---|
679 | </UL></LI> |
---|
680 | <LI>management |
---|
681 | <UL> |
---|
682 | <LI>Changed the framework classes, so that the <TT>G4TouchableHandle</TT> from the |
---|
683 | parent <TT>G4Track</TT> is now carried forward to the secondary tracks in |
---|
684 | all cases.</LI> |
---|
685 | </UL></LI> |
---|
686 | <LI>stopping |
---|
687 | <UL> |
---|
688 | <LI>Changed process classes, so that the <TT>G4TouchableHandle</TT> from the parent |
---|
689 | <TT>G4Track</TT> is now carried forward to the secondary tracks in all cases.</LI> |
---|
690 | </UL></LI> |
---|
691 | <LI>models/binary_cascade |
---|
692 | <UL> |
---|
693 | <LI>Resonance potentials now consistently treated under the assumption that |
---|
694 | they are zero.</LI> |
---|
695 | <LI>Introduced a new more selective system of debug printout steering.</LI> |
---|
696 | <LI>Cleared debug run-time output.</LI> |
---|
697 | </UL></LI> |
---|
698 | <LI>models/cascade |
---|
699 | <UL> |
---|
700 | <LI>Fixed a memory fault, and some minor cleanup.</LI> |
---|
701 | </UL></LI> |
---|
702 | <LI>models/chiral_inv_phase_space/body |
---|
703 | <UL> |
---|
704 | <LI>Fixed unnecessary debug messages affecting unit-test.</LI> |
---|
705 | <LI>Changed problem related print-out.</LI> |
---|
706 | </UL></LI> |
---|
707 | <LI>models/high_energy |
---|
708 | <UL> |
---|
709 | <LI>Removed a phi asymmetry in the high energy neutral pion distributions.</LI> |
---|
710 | </UL></LI> |
---|
711 | <LI>models/leading_particle |
---|
712 | <UL> |
---|
713 | <LI>Added clarification notice with respect to the nature of the code, |
---|
714 | to be printed at start-up.</LI> |
---|
715 | <LI>Corrected treatment of secondaries in the creation of particle change.</LI> |
---|
716 | </UL></LI> |
---|
717 | <LI>models/low_energy |
---|
718 | <UL> |
---|
719 | <LI>Fixed an energy non-conservation problem of few <TT>MeV</TT> size, |
---|
720 | in relations to phase-space sampling.</LI> |
---|
721 | </UL></LI> |
---|
722 | <LI>models/muon_nuclear |
---|
723 | <UL> |
---|
724 | <LI>Changed process name to be consistent with other muon processes.</LI> |
---|
725 | <LI>Changed memory allocation policy in the hadronic vertex to avoid a platform |
---|
726 | dependency that can lead to a crash on exit.</LI> |
---|
727 | </UL></LI> |
---|
728 | <LI>models/radioactive_decay |
---|
729 | <UL> |
---|
730 | <LI>Added G4MshellECDecay class and changed <TT>G4RadioactiveDecay</TT> |
---|
731 | accordingly.</LI> |
---|
732 | <LI>Added better handling of incomplete data files.</LI> |
---|
733 | <LI>Corrected treatment of metastables as initial tracks in VR mode.</LI> |
---|
734 | <LI>Default decay window in VR model set to 9.9x109 - 1010 seconds.</LI> |
---|
735 | <LI>Added individual time stamp for splitted isotope</LI> |
---|
736 | <LI>Fixed problem reports #396 and #662.</LI> |
---|
737 | <LI>Applying now atomic relaxation only to <TT>5 < z < 101</TT>.</LI> |
---|
738 | <LI>No more fast/slow beta decay mode with a faster 3-body decay implementation.</LI> |
---|
739 | <LI><TT>G4RIsotopeTable</TT>: no longer reset the excitation energy.</LI> |
---|
740 | <LI>Added <TT>touchableHandle</TT> to secondary tracks.</LI> |
---|
741 | </UL></LI> |
---|
742 | </UL> |
---|
743 | |
---|
744 | <A NAME="parmodels-notes"> |
---|
745 | <H3><I>Parameterisations</I></H3></A> |
---|
746 | <UL> |
---|
747 | <LI>New <B>gflash</B> submodule for fast shower parameterisation, contribution |
---|
748 | of CMS and ATLAS.</LI> |
---|
749 | <LI>Moved original TRD classes to <TT>trd_models</TT> submodule.</LI> |
---|
750 | </UL> |
---|
751 | |
---|
752 | <A NAME="part-notes"> |
---|
753 | <H3><I>Particles</I></H3></A> |
---|
754 | <UL> |
---|
755 | <LI>Introduced <TT>G4UnknownParticle</TT> class for bosons.</LI> |
---|
756 | <LI>Introduced <TT>G4MuonDecayChannelWithSpin</TT> class.</LI> |
---|
757 | <LI>Removed obsolete dependency to G4Material from <TT>G4ParticleDefinition</TT> and |
---|
758 | related class.</LI> |
---|
759 | </UL> |
---|
760 | |
---|
761 | <A NAME="run-notes"> |
---|
762 | <H3><I>Run and Interfaces</I></H3></A> |
---|
763 | <UL> |
---|
764 | <LI><B>Interfaces</B>: |
---|
765 | <UL> |
---|
766 | <LI><TT>G4UIXm</TT>: define default resources in case <TT>XENVIRONMENT</TT> |
---|
767 | is not set.</LI> |
---|
768 | </UL></LI> |
---|
769 | <LI><B>Run</B>: |
---|
770 | <UL> |
---|
771 | <LI>Temporarily allow the use of <TT>G4ParticleTable</TT> before the |
---|
772 | construction of physics table.</LI> |
---|
773 | <LI>Fixed wrong behaviour of <TT>G4RunManager</TT> when the user modifies the |
---|
774 | geometry without replacing the world.</LI> |
---|
775 | <LI>Moved ConstructParticle() and ConstructProcess() methods to 'public'.</LI> |
---|
776 | <LI><TT>G4VUserPhysicsList</TT>: |
---|
777 | <UL> |
---|
778 | <LI>Modified <TT>BuildPhysicsTable()</TT> and <TT>PreparePhysicsTable()</TT> |
---|
779 | for new scheme of <TT>Store/RetrievePhysicsTable()</TT> methods.</LI> |
---|
780 | <LI><TT>ConstructParticle()</TT> and <TT>ConstructProcess()</TT> methods are |
---|
781 | moved to 'public'.</LI> |
---|
782 | </UL></LI> |
---|
783 | </UL></LI> |
---|
784 | </UL> |
---|
785 | |
---|
786 | <A NAME="track-notes"> |
---|
787 | <H3><I>Track and Tracking</I></H3></A> |
---|
788 | <UL> |
---|
789 | <LI><B>Track</B> |
---|
790 | <UL> |
---|
791 | <LI>Removed obsolete interface methods from <TT>G4VParticleChange</TT>.</LI> |
---|
792 | <LI>Modified <TT>G4ParticleChangeForDecay</TT>: |
---|
793 | added <TT>thePolarizationChange</TT> and related methods.</LI> |
---|
794 | <LI>Fixed problem in the destructor of <TT>G4VUserTrackInformation</TT>.</LI> |
---|
795 | </UL></LI> |
---|
796 | <LI><B>Tracking</B> |
---|
797 | <UL> |
---|
798 | <LI>Made <TT>G4SteppingVerbose</TT> a singleton. |
---|
799 | <LI><TT>G4SteppingManager</TT>: |
---|
800 | <UL> |
---|
801 | <LI>Change the track status to <TT>StopAndKill</TT> when a track looses |
---|
802 | all kinetic energy cumulatively while the AlongStep loop.</LI> |
---|
803 | <LI>Now changing the track status to <TT>StopButAlive</TT> if the kinetic |
---|
804 | energy becomes below zero while AlongStep loop.</LI> |
---|
805 | <LI>Fix on interactive on/off for AtRest processes.</LI> |
---|
806 | <LI>Do not issue <TT>G4Exception</TT> anymore also if no atRestDoit |
---|
807 | processes exit.</LI> |
---|
808 | </UL></LI> |
---|
809 | <LI><TT>G4Trajectory</TT>, <TT>G4SmoothTrajectory</TT>: |
---|
810 | added HepRep attribute for magnitude of momentum.</LI> |
---|
811 | <LI>Fix in <TT>G4SteppingManager::InvokePSDIP()</TT> for completing migration |
---|
812 | to new <TT>G4VParticleChange</TT> interface. |
---|
813 | </UL></LI> |
---|
814 | </UL> |
---|
815 | |
---|
816 | <A NAME="vis-notes"> |
---|
817 | <H3><I>Visualization</I></H3></A> |
---|
818 | <UL> |
---|
819 | <LI><B>Management</B> |
---|
820 | <UL> |
---|
821 | <LI>Correction to guidance of <TT>vis/viewer/set/hiddenEdge</TT>.</LI> |
---|
822 | <LI>Removed deprecated commands: |
---|
823 | <PRE> |
---|
824 | /vis/viewer/show (use /vis/viewer/update) |
---|
825 | /vis/viewer/lightsThetaPhi (use /vis/viewer/set/lightsThetaPhi) |
---|
826 | /vis/viewer/lightsVector (use /vis/viewer/set/lightsVector) |
---|
827 | /vis/viewer/viewpointThetaPhi (use /vis/viewer/set/viewpointThetaPhi) |
---|
828 | /vis/viewer/viewpointVector (use /vis/viewer/set/viewpointVector) |
---|
829 | </PRE></LI> |
---|
830 | <LI>Added auxiliary edge visible flag to <TT>G4ViewParameters</TT> and a new |
---|
831 | command, <TT>/vis/viewer/set/auxiliaryEdge</TT>. (Auxiliary edges are not |
---|
832 | genuine edges of the volume. They may be in a curved surface made |
---|
833 | out of polygons, for example, or in plane surface of complicated |
---|
834 | shape that has to be broken down into simpler polygons. |
---|
835 | <TT>HepPolyhedron</TT> breaks all surfaces into triangles or quadrilaterals. |
---|
836 | There will be auxiliary edges for any volumes with a curved surface, |
---|
837 | such as a tube or a sphere, or a volume resulting from a Boolean |
---|
838 | operation. Normally, they are not shown, but sometimes it is useful |
---|
839 | to see them. In particular, a sphere, because it has no egdes, will |
---|
840 | not be seen in wireframe mode in some graphics systems unless this |
---|
841 | flag is turned on). |
---|
842 | Implemented force auxiliary edge visible feature of |
---|
843 | <TT>G4VisAttributes</TT>.</LI> |
---|
844 | <LI>Refined forced wireframe algorithm: *always* force wireframe even |
---|
845 | if hidden line removal is specified.</LI> |
---|
846 | <LI>Rationalised vis command code (uses <TT>G4UIcommand</TT> static conversion |
---|
847 | functions where possible).</LI> |
---|
848 | <LI>Removed <TT>GetDrawingStyle()</TT> method. Instead, developer has to: |
---|
849 | <UL> |
---|
850 | <LI>Get vis attributes (pick up defaults if none): |
---|
851 | <PRE> |
---|
852 | const G4VisAttributes* pVA = |
---|
853 | fpViewer -> GetApplicableVisAttributes (v.GetVisAttributes ()); |
---|
854 | </PRE> |
---|
855 | where v is the visible object (polyline, circle, polyhedron, etc.).</LI> |
---|
856 | <LI>Get view parameters that the user can force through the vis |
---|
857 | attributes, thereby over-riding the current view parameter: |
---|
858 | <PRE> |
---|
859 | G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle (pVA); |
---|
860 | G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVA); |
---|
861 | </PRE> |
---|
862 | Most developers do this anyway, so the removed routine was redundant |
---|
863 | and resulting code is more efficient and transparent.<BR> |
---|
864 | To get colour, the developer can pick up directly from the vis attributes, |
---|
865 | pVA, obtained as above: |
---|
866 | <PRE> |
---|
867 | const G4Colour& c = pVA -> GetColour (); |
---|
868 | </PRE> |
---|
869 | or use a slightly less efficient method: |
---|
870 | <PRE> |
---|
871 | const G4Colour& c = GetColour (v); |
---|
872 | </PRE> |
---|
873 | where v is the visible object.<BR> |
---|
874 | Note that for text, the developer must use a different procedure, |
---|
875 | since the default text colour is determined by the default text vis |
---|
876 | attributes, which may be specified independent of default vis attributes |
---|
877 | of other types of visible objects. A function, <TT>GetTextColour()</TT>, |
---|
878 | is provided and the recommended use is: |
---|
879 | <PRE> |
---|
880 | const G4Colour& c = GetTextColour (text); |
---|
881 | </PRE> |
---|
882 | which picks up the default if none.</LI> |
---|
883 | </UL></LI> |
---|
884 | <LI>Corrected mistake in <TT>/vis/viewer/set/*Vector</TT> commands. |
---|
885 | <LI>Utilise smart method <TT>GetPolyhedron()</TT> for solids; greatly speeds 2nd |
---|
886 | and subsequent drawings when kernel access is required.</LI> |
---|
887 | <LI>Rationalised use of <TT>EstablishSpecials</TT>: functionality moved |
---|
888 | to base class.</LI> |
---|
889 | <LI>Removed use of obsolete <TT>G4Polymarker::line</TT>.</LI> |
---|
890 | </UL></LI> |
---|
891 | <LI><B>Modeling</B> |
---|
892 | <UL> |
---|
893 | <LI>Added <TT>G4PhysicalVolumeMassScene</TT> and improvements to |
---|
894 | <TT>G4PhysicalVolumeModel</TT>.</LI> |
---|
895 | </UL></LI> |
---|
896 | <LI><B>ASCIITree</B> |
---|
897 | <UL> |
---|
898 | <LI><TT>verbosity >= 3</TT>: prints volume, density of all volumes in hierarchy. |
---|
899 | <LI><TT>verbosity >= 4</TT>: calculates the mass of the complete geometry tree taking |
---|
900 | into account daughters up to the depth specified for each physical |
---|
901 | volume in the current scene. Culling is ignored so that all volumes |
---|
902 | are processed. Uses <TT>G4PhysicalVolumeMassScene</TT>.</LI> |
---|
903 | <LI>Added option to write to file (<TT>/vis/ASCIITree/set/outFile</TT>).</LI> |
---|
904 | </UL></LI> |
---|
905 | <LI><B>DAWN</B> |
---|
906 | <UL> |
---|
907 | <LI>Improved diagnostic on trapping non-regular polyhedra.</LI> |
---|
908 | </UL></LI> |
---|
909 | <LI><B>HepRep</B> |
---|
910 | <UL> |
---|
911 | <LI>Fixed a compilation problem in <TT>zlib</TT> for AMD64.</LI> |
---|
912 | <LI>Upgraded to latest version C++ HepRep driver from FreeHEP.</LI> |
---|
913 | <LI>Fixed GEANT-51, upgrade zlib to version 1.2.2 (for AMD64 compatibility).</LI> |
---|
914 | </UL></LI> |
---|
915 | <LI><B>OpenGL</B> |
---|
916 | <UL> |
---|
917 | <LI>Hidden line *and/or* hidden surface removal now work for OGL*X and OGL*Xm.</LI> |
---|
918 | <LI>Trap non-regular polyhedra and other small changes.</LI> |
---|
919 | <LI>Removed redundant <TT>fLastVP</TT> from <TT>G4OpenGLStoredSceneHandler</TT>.</LI> |
---|
920 | <LI><TT>G4OpenGLWin32Viewer::ShowView()</TT>: correction in usage of glFlush to |
---|
921 | allow proper visualization of trajectories.</LI> |
---|
922 | </UL></LI> |
---|
923 | <LI><B>OpenInventor</B> |
---|
924 | <UL> |
---|
925 | <LI>General code review of the driver.</LI> |
---|
926 | <LI>Porting on Windows.</LI> |
---|
927 | <LI>Corrected handling of transparent mode.</LI> |
---|
928 | <LI>Forced culling off by default and solid mode. User will see |
---|
929 | all of the requested geometry volume tree; can use pointer button |
---|
930 | and CTRL-left-click to uncover (SHIFT-left-click to re-cover); |
---|
931 | can use the hand button and right-click to get wireframe.</LI> |
---|
932 | </UL></LI> |
---|
933 | </UL> |
---|
934 | |
---|
935 | <A NAME="lst-notes"> |
---|
936 | <H3><I>Physics lists</I></H3></A> |
---|
937 | <UL> |
---|
938 | <LI>Imported hadronic lists and electromagnetic lists from top-level |
---|
939 | to new module <TT>physics_lists</TT>. |
---|
940 | <UL> |
---|
941 | <LI><B>electromagnetic</B> |
---|
942 | <UL> |
---|
943 | <LI>Instantiate processes only once for muons.</LI> |
---|
944 | <LI>Use ionIonisation for GenericIon, alpha, He3.</LI> |
---|
945 | </UL></LI> |
---|
946 | <LI><B>hadronic</B> |
---|
947 | <UL> |
---|
948 | <LI>Added to build missing LHEP_BERT_HP & LHEP_BIC_HP lists.</LI> |
---|
949 | <LI>Implemented migration to new <TT>G4VParticleChange</TT> interface.</LI> |
---|
950 | <LI>Removed debug printout in <TT>G4HadronQEDBuilder</TT>.</LI> |
---|
951 | </UL></LI> |
---|
952 | </UL></LI> |
---|
953 | </UL> |
---|
954 | |
---|
955 | <A NAME="env-notes"> |
---|
956 | <H3><I>Environments</I></H3></A> |
---|
957 | <UL> |
---|
958 | <LI>New version of MOMO integrating GAG and Gain.</LI> |
---|
959 | <LI>Added new example and removed obsolete files.</LI> |
---|
960 | </UL> |
---|
961 | |
---|
962 | <A NAME="ex-notes"> |
---|
963 | <H3><I>Examples</I></H3></A> |
---|
964 | <UL> |
---|
965 | <LI>Updated reference outputs.</LI> |
---|
966 | <LI><B>advanced</B> |
---|
967 | <UL> |
---|
968 | <LI>air_shower |
---|
969 | <UL> |
---|
970 | <LI>New example for the simulation of an UV detection system (UVscope).</LI> |
---|
971 | </UL></LI> |
---|
972 | <LI>brachytherapy |
---|
973 | <UL> |
---|
974 | <LI>Improved analysis management and corrected initial seed setting.</LI> |
---|
975 | </UL></LI> |
---|
976 | <LI>composite_calorimeter |
---|
977 | <UL> |
---|
978 | <LI>Use new phys-lists structure.</LI> |
---|
979 | </UL></LI> |
---|
980 | <LI>cosmicray_charging |
---|
981 | <UL> |
---|
982 | <LI>Removed call by pointer of hadronics classes.</LI> |
---|
983 | <LI>Added MuNuclear interaction.</LI> |
---|
984 | <LI>Updated input macros for obsolete gps commands.</LI> |
---|
985 | </UL></LI> |
---|
986 | <LI>gammaray_telescope |
---|
987 | <UL> |
---|
988 | <LI>Code review.</LI> |
---|
989 | </UL></LI> |
---|
990 | <LI>hadrontherapy |
---|
991 | <UL> |
---|
992 | <LI>Correction to analysis classes.</LI> |
---|
993 | </UL></LI> |
---|
994 | <LI>lAr_calorimeter |
---|
995 | <UL> |
---|
996 | <LI>Use new phys-lists structure.</LI> |
---|
997 | </UL></LI> |
---|
998 | <LI>medical_linac |
---|
999 | <UL> |
---|
1000 | <LI>Added MedLinacTrackingAction, MedLinacMLCDecorator |
---|
1001 | and MedLinacMLCMessenger.</LI> |
---|
1002 | </UL></LI> |
---|
1003 | <LI>purging_magnet |
---|
1004 | <UL> |
---|
1005 | <LI>Cleared compilation warnings.</LI> |
---|
1006 | </UL></LI> |
---|
1007 | <LI>radioprotection |
---|
1008 | <UL> |
---|
1009 | <LI>Added binary cascade approach.</LI> |
---|
1010 | <LI>Added histograms and option to define the format of the output |
---|
1011 | file hbook or xml.</LI> |
---|
1012 | </UL></LI> |
---|
1013 | <LI>Rich |
---|
1014 | <UL> |
---|
1015 | <LI>Implemented migration to new <TT>G4VParticleChange</TT> interface.</LI> |
---|
1016 | </UL></LI> |
---|
1017 | <LI>Tiara |
---|
1018 | <UL> |
---|
1019 | <LI>Corrected link to the centralized hadronic physics lists and using |
---|
1020 | new physics-lists structure.</LI> |
---|
1021 | <LI>Eliminated all the old links to the tiara-dedicated shared libraries |
---|
1022 | for the Packaging and the physics lists SWIG wraps based on the |
---|
1023 | templated physics list classes.</LI> |
---|
1024 | </UL></LI> |
---|
1025 | <LI>underground_physics |
---|
1026 | <UL> |
---|
1027 | <LI>Implemented migration to new <TT>G4VParticleChange</TT> interface.</LI> |
---|
1028 | </UL></LI> |
---|
1029 | <LI>xray_fluorescence |
---|
1030 | <UL> |
---|
1031 | <LI>General update, can now be used in batch mode without histograms.</LI> |
---|
1032 | </UL></LI> |
---|
1033 | </UL></LI> |
---|
1034 | <LI><B>extended</B> |
---|
1035 | <UL> |
---|
1036 | <LI>analysis/A01 |
---|
1037 | <UL> |
---|
1038 | <LI>Removed dependency from user hadronics lists.</LI> |
---|
1039 | </UL></LI> |
---|
1040 | <LI>electromagnetic/MuonProcesses |
---|
1041 | <UL> |
---|
1042 | <LI>Fix for generation of histograms according to 'muons' tag.</LI> |
---|
1043 | <LI>Trivial fixes for compilation in gcc-3.2.</LI> |
---|
1044 | <LI>Avoid deletion of Analysisfactory (for JAIDA).</LI> |
---|
1045 | </UL></LI> |
---|
1046 | <LI>electromagnetic/PhotonProcesses |
---|
1047 | <UL> |
---|
1048 | <LI>Added new input macro anni.mac.</LI> |
---|
1049 | <LI>Avoid deletion of Analysisfactory (for JAIDA).</LI> |
---|
1050 | </UL></LI> |
---|
1051 | <LI>electromagnetic/TestEm1 |
---|
1052 | <UL> |
---|
1053 | <LI>Compute and print CSDA range from <TT>G4EmCalculator</TT>.</LI> |
---|
1054 | <LI>Set default vertex at left side of the box.</LI> |
---|
1055 | <LI>Avoid deletion of Analysisfactory (for JAIDA).</LI> |
---|
1056 | <LI>Define correctly all UI subdirectories.</LI> |
---|
1057 | <LI>Modifications in HistoManager and Messenger for histograms files.</LI> |
---|
1058 | <LI>Migrated to new interface for <TT>G4VParticleChange</TT> in |
---|
1059 | <TT>G4eBremsstrahlungCMS</TT>.</LI> |
---|
1060 | <LI>Modified call to <TT>G4EmCalculator</TT>.</LI> |
---|
1061 | <LI>PhysListEmStandard: put threshold for <TT>G4BremsstrahlungCMS</TT> |
---|
1062 | at <TT>10 GeV</TT>. |
---|
1063 | </UL></LI> |
---|
1064 | <LI>electromagnetic/TestEm2 |
---|
1065 | <UL> |
---|
1066 | <LI>Define correctly all UI subdirectories.</LI> |
---|
1067 | <LI>Modifications in RunAction for histograms files.</LI> |
---|
1068 | <LI>Change <TT>USE_AIDA</TT> to <TT>G4ANALYSIS_USE</TT> in <TT>GNUmakefile</TT>.</LI> |
---|
1069 | <LI>Fix in the logic of <TT>PhysicsList::AddPhysicsList()</TT>.</LI> |
---|
1070 | <LI>Fixed bug in change of cuts between runs.</LI> |
---|
1071 | </UL></LI> |
---|
1072 | <LI>electromagnetic/TestEm3 |
---|
1073 | <UL> |
---|
1074 | <LI>Modified HistoManager and Messenger in order to allow a multirun job.</LI> |
---|
1075 | <LI>Removed static ionC12. Use generic ion instead.</LI> |
---|
1076 | <LI>Avoid deletion of Analysisfactory (for JAIDA).</LI> |
---|
1077 | <LI>More histograms: longitudinal energy profile and forward energy flow.</LI> |
---|
1078 | <LI>Changed the numering of absorbers: start from 1 instead of 0.</LI> |
---|
1079 | and modified all macros according to the above.</LI> |
---|
1080 | <LI>Define correctly all UI subdirectories.</LI> |
---|
1081 | <LI>New <TT>StepMax</TT> processes and messenger.</LI> |
---|
1082 | <LI>Updated macros tbhec and lhcb.</LI> |
---|
1083 | </UL></LI> |
---|
1084 | <LI>electromagnetic/TestEm5 |
---|
1085 | <UL> |
---|
1086 | <LI>Print stopping power.</LI> |
---|
1087 | <LI>Showing example of use of <TT>G4EmCalculator</TT>.</LI> |
---|
1088 | <LI>Added dedx1.mac and dedx2.mac input macros.</LI> |
---|
1089 | <LI>Fixed a minor problem is energy deposit.</LI> |
---|
1090 | <LI>Fixed a problem in PhysicsList for hadrons.</LI> |
---|
1091 | <LI>Avoid deletion of Analysisfactory (for JAIDA).</LI> |
---|
1092 | <LI>Define correctly all UI subdirectories.</LI> |
---|
1093 | <LI>Added macros neutron.mac and hadron.mac.</LI> |
---|
1094 | <LI>Modified call to <TT>G4EmCalculator</TT>.</LI> |
---|
1095 | </UL></LI> |
---|
1096 | <LI>electromagnetic/TestEm7 |
---|
1097 | <UL> |
---|
1098 | <LI>Reset histo and dose calculation by run.</LI> |
---|
1099 | <LI>Introduced <TT>RunAction::FillHisto()</TT> method.</LI> |
---|
1100 | <LI>Compute projected range of primary particle (new class TrackingAction).</LI> |
---|
1101 | <LI>Removed static ionC12. Use generic ion instead.</LI> |
---|
1102 | <LI>Optimised interfaces.</LI> |
---|
1103 | <LI>Added proton.mac, updated ionC12.mac and removed run01.mac.</LI> |
---|
1104 | <LI>Fixed minor problem in stepping action.</LI> |
---|
1105 | <LI>Define correctly all UI subdirectories.</LI> |
---|
1106 | <LI>Modifications in RunAction for histograms files.</LI> |
---|
1107 | </UL></LI> |
---|
1108 | <LI>eventgenerator/exgps |
---|
1109 | <UL> |
---|
1110 | <LI>New example showing the usage of <TT>G4GeneralParticleSource</TT> for generating |
---|
1111 | primary incident particle according to user defined distributions. |
---|
1112 | These range from simple monocromatic point source to complicated mutiple |
---|
1113 | sources with various biasing schemes.</LI> |
---|
1114 | </UL></LI> |
---|
1115 | <LI>field |
---|
1116 | <UL> |
---|
1117 | <LI>Removed dependency on old PAI and XTR models in PhysicsList |
---|
1118 | of field01/02/03 examples.</LI> |
---|
1119 | </UL></LI> |
---|
1120 | <LI>gdml |
---|
1121 | <UL> |
---|
1122 | <LI>Archived old example and setup. New example based on GDML-2.0.0 |
---|
1123 | demonstrating the abilities of import/export of GDML descriptions.</LI> |
---|
1124 | </UL></LI> |
---|
1125 | <LI>medical/GammaTherapy |
---|
1126 | <UL> |
---|
1127 | <LI>New example of Gamma beam irradiation therapy on a water phantom.</LI> |
---|
1128 | </UL></LI> |
---|
1129 | <LI>parallel |
---|
1130 | <UL> |
---|
1131 | <LI>New version of marshaling/unmarshaling code for ParN02 and ParN04, |
---|
1132 | generated from annotations using Marshalgen.</LI> |
---|
1133 | </UL></LI> |
---|
1134 | <LI>radioactivedecay/exrdm |
---|
1135 | <UL> |
---|
1136 | <LI>New example for showing the usage of the <TT>G4RadioactiveDecay</TT> process to |
---|
1137 | simulate the decays of radioactive isotopes as well as the induced |
---|
1138 | radioactivity resulted from nuclear interactions.</LI> |
---|
1139 | </UL></LI> |
---|
1140 | <LI>runAndEvent/RE01 |
---|
1141 | <UL> |
---|
1142 | <LI>New example showing how to connect the information between |
---|
1143 | primary particles and hits and utilize user-information classes.</LI> |
---|
1144 | </UL></LI> |
---|
1145 | </UL></LI> |
---|
1146 | <LI><B>novice</B> |
---|
1147 | <UL> |
---|
1148 | <LI>N02 |
---|
1149 | <UL> |
---|
1150 | <LI>Removed trajectory printing from <TT>ExN02EventAction</TT>, now available |
---|
1151 | with <TT>/vis/scene/add/trajectories</TT>, included in vis.mac.</LI> |
---|
1152 | <LI>DetectorConstruction: modified a comment for placements.</LI> |
---|
1153 | </UL></LI> |
---|
1154 | <LI>N03 |
---|
1155 | <UL> |
---|
1156 | <LI>visTutor/exN03Vis[5,10].mac : added commented examples |
---|
1157 | on how to request the visualization of a particular volume.</LI> |
---|
1158 | <LI>visTutor/exN03Vis9.mac: added visualization with OGLIWin32 to verify |
---|
1159 | visualization of geometry and trajectories.</LI> |
---|
1160 | <LI>DetectorConstruction: added commented vis attributes in order to |
---|
1161 | verify interactive expansion/contraction geometry system of the |
---|
1162 | OpenInventor driver.</LI> |
---|
1163 | <LI>gui.mac: gun pulldown menu.</LI> |
---|
1164 | </UL></LI> |
---|
1165 | <LI>N04 |
---|
1166 | <UL> |
---|
1167 | <LI>Use standard hadronic physics-lists with QGSP.</LI> |
---|
1168 | </UL></LI> |
---|
1169 | <LI>N05 |
---|
1170 | <UL> |
---|
1171 | <LI>Modified method name for <TT>G4VParticleChange</TT> in |
---|
1172 | <TT>ExN05SpecialCuts</TT>.</LI> |
---|
1173 | <LI>Implemented migration to new <TT>G4VParticleChange</TT> interfaces.</LI> |
---|
1174 | </UL></LI> |
---|
1175 | <LI>N07 |
---|
1176 | <UL> |
---|
1177 | <LI>Modified to comply to new cut-per-region scheme.</LI> |
---|
1178 | </UL></LI> |
---|
1179 | </UL></LI> |
---|
1180 | </UL> |
---|
1181 | |
---|
1182 | <HR> |
---|
1183 | |
---|
1184 | </BODY> |
---|
1185 | </HTML> |
---|