Geant4 Cross Reference |
1 # Category op History << 1 ------------------------------------------------------------------- 2 2 3 See `CONTRIBUTING.rst` for details of **requir << 3 ========================================================= 4 which **must** added in reverse chronological << 4 Geant4 - an Object-Oriented Toolkit for Simulation in HEP 5 It must **not** be used as a substitute for wr << 5 ========================================================= 6 << 6 7 ---------------------------------------------- << 7 Category History file 8 ## 2024-07-18 Hans Wenzel (op-V11-02-01) << 8 --------------------- 9 - G4OpWLS2.cc: change SetProcessSubType from f << 9 This file should be used by G4 developers and category coordinators 10 << 10 to briefly summarize all major modifications introduced in the code 11 ## 2024-05-24 Daren Sawkey (op-V11-02-00) << 11 and keep track of all category-tags. 12 - G4OpBoundaryProcess: Calculate Fresnel refle << 12 It DOES NOT substitute the CVS log-message one should put at every 13 material property TRANSMITTANCE is specified << 13 committal in the CVS repository ! 14 reflection/refraction now does not change wh << 14 15 specified. Previously, if transmission of X% << 15 ---------------------------------------------------------- 16 transmission of X% as expected, but the rati << 16 * Reverse chronological order (last date on top), please * 17 Fresnel reflection would be set to X%. Addre << 17 ---------------------------------------------------------- 18 << 19 ## 2023-10-27 Daren Sawkey (op-V11-01-00) << 20 - G4OpBoundaryProcess: verbosity of 0 silences << 21 << 22 ## 2022-11-23 Gabriele Cosmo (op-V11-00-08) << 23 - Fixed compilation warnings for implicit type << 24 << 25 ## 2022-10-26 Daren Sawkey (op-V11-00-07) << 26 - G4OpBoundaryProcess. Contribution of Laurie << 27 Calculate reflection/refraction from thin fi << 28 << 29 ## 2022-10-18 Daren Sawkey (op-V11-00-06) << 30 - G4OpBoundaryProcess: issue warning when step << 31 geometry tolerance, in which case boundary s << 32 Addresses bug 2510. << 33 << 34 ## 2022-04-27 Daren Sawkey (op-V11-00-05) << 35 - many files: apply clang-tidy recommendations << 36 remove (void) function argument, don't check << 37 string comparisons. << 38 << 39 ## 2022-04-11 Daren Sawkey (op-V11-00-04) << 40 - G4OpBoundaryProcess: Check for nullptr befor << 41 << 42 ## 2022-04-07 Daren Sawkey (op-V11-00-03) << 43 - G4OpWLS2: fix incorrect call to set time pro << 44 << 45 ## 2022-01-18 Jonas Hahnfeld (op-V11-00-02) << 46 - Prefer pointer to `const G4Material` if poss << 47 << 48 ## 2022-01-10 Daren Sawkey (op-V11-00-01) << 49 - Remove G4lrint/G4lint to calculate angle bin << 50 when angle = 0. Addresses issue 116. << 51 << 52 ## 2021-12-10 Ben Morgan (op-V11-00-00) << 53 - Change to new Markdown History format << 54 << 55 --- << 56 << 57 # History entries prior to 11.0 << 58 << 59 21 Oct 21: D. Sawkey (op-V10-07-05) << 60 - G4OpBoundaryProcess - rename variables: clas << 61 - make comparison to nullptr explicit << 62 - remove unneeded intermediate variable << 63 - refactor Davis LUT calculation << 64 << 65 21 Oct 21: D. Sawkey (op-V10-07-04) << 66 - G4OpBoundaryProcess - on StepTooSmall, propo << 67 material of post step point. Addresses bug 2 << 68 << 69 19 Oct 21: D. Sawkey (op-V10-07-03) << 70 - all process classes - update G4OpticalParame << 71 parameters updated directly. Addresses bug 2 << 72 << 73 21 May 21: D. Sawkey (op-V10-07-02) << 74 - G4OpBoundaryProcess: make some variables loc << 75 properly. Addresses bug 2364. << 76 << 77 18 May 21: V. Ivanchenko (op-V10-07-01) << 78 - G4OpRayleigh, G4OpWLS, G4OpWLS2 - use G4Phys << 79 of G4PhysicsOrderedFreeVector << 80 << 81 16 Apr 21: Ben Morgan (op-V10-07-00) << 82 - Migrate build to modular CMake API << 83 << 84 04 Nov 20: D. Sawkey (op-V10-06-07) << 85 - Fix reading Davis LUT out of bounds (address << 86 << 87 05 Oct 20: D. Sawkey (op-V10-06-06) << 88 - All files: apply clang-format style guidelin << 89 << 90 30 Sept 20: D. Sawkey (op-V10-06-05) << 91 - G4OpBoundaryProcess: increase geometry toler << 92 << 93 20 July 20: D. Sawkey (op-V10-06-04) << 94 - G4OpRayleigh, G4OpAbsorption, G4OpMieHG, G4O << 95 G4OpticalParameters class to control simulat << 96 << 97 29 May 20: D. Sawkey (op-V10-06-03) << 98 - all files - thorough cleaning; shorten tempo << 99 improve readability << 100 << 101 26 May 20: A. Howard (op-V10-06-02) << 102 - Add second wavelength shifting process - G4O << 103 << 104 15 Feb 20: V. Ivanchenko (op-V10-06-01) << 105 - G4OpRayleigh - avoid double deletion of prop << 106 << 107 21 Jan 20: D. Sawkey (op-V10-06-00) << 108 - use new ConstPropertyExists(G4int) rather th << 109 << 110 28 Oct 19: D. Sawkey (op-V10-05-02) << 111 - G4OpWLS.cc - call G4VParticleChange->SetNum << 112 - address bug 2200 << 113 << 114 23 Aug 19: D. Sawkey (op-V10-05-01) << 115 - G4OpBoundaryProcess: fix Coverity reports << 116 << 117 23 May 19: D. Sawkey (op-V10-05-00) << 118 - most files: format indentation, parentheses; << 119 - some changes to if/else loops and variab << 120 18 121 25 May 18: D. Sawkey (op-V10-04-00) 19 25 May 18: D. Sawkey (op-V10-04-00) 122 - G4OpMieHG: change GetProperty from string to 20 - G4OpMieHG: change GetProperty from string to enum 123 21 124 11 September 17: S.Y. Jun (op-V10-03-03) 22 11 September 17: S.Y. Jun (op-V10-03-03) 125 - change material property keys by the enum ty << 23 - change material property keys by the enum type defined in 126 G4MaterialPropertiesIndex 24 G4MaterialPropertiesIndex 127 25 128 29 May 17: P. Gumplinger (op-V10-03-02) 26 29 May 17: P. Gumplinger (op-V10-03-02) 129 - This version of Mariele Stockhoff's DAVIS mo 27 - This version of Mariele Stockhoff's DAVIS model includes not only 130 reflection but also the capability of transm 28 reflection but also the capability of transmitting photons based on LUTs 131 29 132 22 Mar 17: P. Gumplinger (op-V10-03-00/op-V10- 30 22 Mar 17: P. Gumplinger (op-V10-03-00/op-V10-03-01) 133 - add Mariele Stockhoff's DAVIS model 31 - add Mariele Stockhoff's DAVIS model 134 32 135 03 Oct 16: P. Gumplinger (op-V10-02-02) 33 03 Oct 16: P. Gumplinger (op-V10-02-02) 136 - act on bug report 1888 34 - act on bug report 1888 137 35 138 07 Mar 16: P. Gumplinger (op-V10-02-01) 36 07 Mar 16: P. Gumplinger (op-V10-02-01) 139 - add flag for InvokeSD method call in G4OpBou 37 - add flag for InvokeSD method call in G4OpBoundaryProcess 140 38 141 16 Feb 16: P. Gumplinger (op-V10-02-00) 39 16 Feb 16: P. Gumplinger (op-V10-02-00) 142 - addresses bug report #1826, thanks to Tetsum 40 - addresses bug report #1826, thanks to Tetsuma Yaguchi 143 in DielectricLUT of G4OpBoundaryProcess 41 in DielectricLUT of G4OpBoundaryProcess 144 42 145 9 Oct 15: P. Gumplinger (op-V10-01-05) 43 9 Oct 15: P. Gumplinger (op-V10-01-05) 146 - fix Coverity error in G4OpBoundaryProcess.c 44 - fix Coverity error in G4OpBoundaryProcess.cc 147 45 148 13 Aug 15: P. Gumplinger (op-V10-01-04) 46 13 Aug 15: P. Gumplinger (op-V10-01-04) 149 - G4OpBoundaryProcess.cc, G4OpRayleigh.cc - ch 47 - G4OpBoundaryProcess.cc, G4OpRayleigh.cc - checked while loops 150 48 151 3 July 2015 P. Gumplinger (op-V10-01-03) 49 3 July 2015 P. Gumplinger (op-V10-01-03) 152 - Allow for a real and imaginary part of the i 50 - Allow for a real and imaginary part of the index of refraction 153 for Material1 in G4OpBoundaryProcess::GetRef 51 for Material1 in G4OpBoundaryProcess::GetReflectivity 154 Bug report: #1762 52 Bug report: #1762 155 53 156 26 June 2015 P. Gumplinger (op-V10-01-02) 54 26 June 2015 P. Gumplinger (op-V10-01-02) 157 - Correct the reflectivity calculation with co 55 - Correct the reflectivity calculation with complex refractive index; 158 include the index of refraction of the PreSt 56 include the index of refraction of the PreStepPoint medium 159 Bug report: #1762 57 Bug report: #1762 160 58 161 23 March 2015 P. Gumplinger (op-V10-01-01) 59 23 March 2015 P. Gumplinger (op-V10-01-01) 162 - change the calculation of NewPolarization in 60 - change the calculation of NewPolarization in G4OpRayleigh.cc to avoid a 163 divided by zero when the NewMomentumDirectio 61 divided by zero when the NewMomentumDirection is perpendicular to the 164 OldPolarization. If the polarization is perp 62 OldPolarization. If the polarization is perpendicular to the scattering 165 plane, it will not change after the scatteri 63 plane, it will not change after the scattering. 166 64 167 11 March 2015 P. Gumplinger (op-V10-01-00) 65 11 March 2015 P. Gumplinger (op-V10-01-00) 168 - add aParticleChange.ProposeLocalEnergyDeposi 66 - add aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum); 169 to G4OpAbsorption 67 to G4OpAbsorption 170 68 171 06 November 2014 P. Gumplinger (op-V10-00-10) 69 06 November 2014 P. Gumplinger (op-V10-00-10) 172 - fix Coverity error in G4OpWLS.cc 70 - fix Coverity error in G4OpWLS.cc 173 71 174 27 October 2014 A. Dotti (op-V10-00-09) 72 27 October 2014 A. Dotti (op-V10-00-09) 175 - Address problem #1675, this requires re engi << 73 - Address problem #1675, this requires re engineering of 176 all UI commands related to optical processes 74 all UI commands related to optical processes and created 177 in G4OpticalPhysics. 75 in G4OpticalPhysics. 178 - Co-working tags: xrays-V10-00-06, op-V10-00- 76 - Co-working tags: xrays-V10-00-06, op-V10-00-09, phys-ctor-em-V10-00-17 179 77 180 17th October 2014 P. Gumplinger (op-V10-00-08) 78 17th October 2014 P. Gumplinger (op-V10-00-08) 181 - fix G4OpRayleigh.cc to actually set the temp 79 - fix G4OpRayleigh.cc to actually set the temperature for materials other 182 than Water 80 than Water 183 - G4OpBoundaryProcess: Add a ConstProperty "SU 81 - G4OpBoundaryProcess: Add a ConstProperty "SURFACEROUGHNESS". If set, 184 the reflectivity at dielectric_dielectric su 82 the reflectivity at dielectric_dielectric surface is angular dependent 185 and calculated from: 83 and calculated from: 186 exp(-pow((4*pi*theSurfaceroughness*Rindex1*c 84 exp(-pow((4*pi*theSurfaceroughness*Rindex1*cost1/wavelength),2)) 187 for Rindex1 > Rindex2. Thanks to M. van Dijk 85 for Rindex1 > Rindex2. Thanks to M. van Dijk (Bristol University). 188 86 189 16th October 2014 P. Gumplinger (op-V10-00-07) 87 16th October 2014 P. Gumplinger (op-V10-00-07) 190 - previous tag was committed only to /include 88 - previous tag was committed only to /include directory 191 89 192 10th October 2014 P. Gumplinger (op-V10-00-06) 90 10th October 2014 P. Gumplinger (op-V10-00-06) 193 - G4OpRayleigh Process: This version calculate 91 - G4OpRayleigh Process: This version calculates the Rayleigh scattering 194 length for more materials than just Water (a 92 length for more materials than just Water (although the Water default 195 is kept). To do this the user would need to 93 is kept). To do this the user would need to specify the 196 ISOTHERMAL_COMPRESSIBILITY as a material pro 94 ISOTHERMAL_COMPRESSIBILITY as a material property and optionally an 197 RS_SCALE_LENGTH (useful for testing). Code c 95 RS_SCALE_LENGTH (useful for testing). Code comes from Philip Graham 198 (Queen Mary University of London). 96 (Queen Mary University of London). 199 97 200 9th October 2014 P. Gumplinger (op-V10-00-05) 98 9th October 2014 P. Gumplinger (op-V10-00-05) 201 - G4OpBoundaryProcess allow for a Transmittanc 99 - G4OpBoundaryProcess allow for a Transmittance, Reflectivity and 202 Absorption on dielectric_dielectric and diel << 100 Absorption on dielectric_dielectric and dielectric_metal boundaries 203 101 204 10th June 2014 P. Gumplinger (op-V10-00-04) 102 10th June 2014 P. Gumplinger (op-V10-00-04) 205 - G4OpWLS always rebuild theIntegralTable in B 103 - G4OpWLS always rebuild theIntegralTable in BuildPhysicsTable method 206 - G4OpRayleigh always rebuild thePhysicsTable 104 - G4OpRayleigh always rebuild thePhysicsTable in BuildPhysicsTable method 207 - remove the private method BuildThePhysicsTab 105 - remove the private method BuildThePhysicsTable 208 106 209 6th June 2014 P. Gumplinger (op-V10-00-03) 107 6th June 2014 P. Gumplinger (op-V10-00-03) 210 - implement the full UNIFIED reflectivity prob 108 - implement the full UNIFIED reflectivity probabilities when a 211 dichroic surface reflects 109 dichroic surface reflects 212 110 213 23rd December 2013 M. Asai (op-V10-00-02) 111 23rd December 2013 M. Asai (op-V10-00-02) 214 - Additional protection. 112 - Additional protection. 215 113 216 22nd December 2013 M. Asai (op-V10-00-01) 114 22nd December 2013 M. Asai (op-V10-00-01) 217 - move construction of WLSTimeGeneratorProfile 115 - move construction of WLSTimeGeneratorProfile to the constructor of G4OpWLS. 218 116 219 18th December 2013 P. Gumplinger (op-V10-00-00 117 18th December 2013 P. Gumplinger (op-V10-00-00) 220 - make WLSTimeGeneratorProfile and UseTimeProf 118 - make WLSTimeGeneratorProfile and UseTimeProfile static in G4OpWLS 221 119 222 26th August 2013 P. Gumplinger (op-V09-06-06) 120 26th August 2013 P. Gumplinger (op-V09-06-06) 223 - move theStatus assignment for Dichroic where 121 - move theStatus assignment for Dichroic where the decision is actually made 224 - made the necessary and required modification 122 - made the necessary and required modifications for G4OpBoundaryProcess to 225 work in situations with parallel worlds 123 work in situations with parallel worlds 226 - G4OpBoundaryProcess will now invoke the Proc 124 - G4OpBoundaryProcess will now invoke the ProcessHit method of the sensitive 227 detector associated with the PostStepPoint v 125 detector associated with the PostStepPoint volume when optical photons are 228 detected at the entrance boundary 126 detected at the entrance boundary 229 127 230 14th June 2013 P. Gumplinger (op-V09-06-05) 128 14th June 2013 P. Gumplinger (op-V09-06-05) 231 - fix coverity errors in G4OpBoundaryProcess 129 - fix coverity errors in G4OpBoundaryProcess 232 130 233 13th June 2013 P.Gumplinger (op-V09-06-04) 131 13th June 2013 P.Gumplinger (op-V09-06-04) 234 - G4OpWLS and G4OpRayleigh - added BuildPhysi 132 - G4OpWLS and G4OpRayleigh - added BuildPhysicsTable method which is doing 235 as before but at the moment when material li 133 as before but at the moment when material list is fully defined. 236 134 237 6th June 2013 P.Gumplinger (op-V09-06-03) 135 6th June 2013 P.Gumplinger (op-V09-06-03) 238 - comment out G4cout in G4OpBoundaryProcess::D 136 - comment out G4cout in G4OpBoundaryProcess::DielectricDichroic() 239 137 240 5th June 2013 P.Gumplinger (op-V09-06-02) 138 5th June 2013 P.Gumplinger (op-V09-06-02) 241 - fix compilation error in G4OpWLS 139 - fix compilation error in G4OpWLS 242 140 243 5th June 2013 P.Gumplinger (op-V09-06-01) 141 5th June 2013 P.Gumplinger (op-V09-06-01) 244 - Require that WLS photons have a longer wavel 142 - Require that WLS photons have a longer wavelength than the photon that 245 is being absorbed/shifted. Please, see bug r 143 is being absorbed/shifted. Please, see bug report on the Forum: 246 http://hypernews.slac.stanford.edu/HyperNews 144 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/509.html 247 Thanks to Ben Loer (FNAL) 145 Thanks to Ben Loer (FNAL) 248 - Add the capability of simulating the transmi 146 - Add the capability of simulating the transmission of a dichroic filter; 249 147 250 In this first implementation, the photon is 148 In this first implementation, the photon is either reflected or transmitted 251 without changing direction. Surface->SetType 149 without changing direction. Surface->SetType(dielectric_dichroic); 252 You must also supply a 2D data file with the 150 You must also supply a 2D data file with the format: 253 4 #ofWavelength-bins #ofIncidentAngl 151 4 #ofWavelength-bins #ofIncidentAngle-bins 254 List of Wavelength-bin values in nm (i) 152 List of Wavelength-bin values in nm (i) 255 List of IncidentAngle-bin values in deg (j) 153 List of IncidentAngle-bin values in deg (j) - angle from the normal 256 Transmittance[1,1],..,Transmittance[i,1],.., 154 Transmittance[1,1],..,Transmittance[i,1],..,Transmittance[n,1] 257 .....................,Transmittance[i,j],... 155 .....................,Transmittance[i,j],..................... 258 Transmittance[1,m],..,Transmittance[i,m],.., 156 Transmittance[1,m],..,Transmittance[i,m],..,Transmittance[n,m] in % 259 157 260 and: setenv G4DICHROICDATA dichroic.data 158 and: setenv G4DICHROICDATA dichroic.data 261 159 262 30th Apr.2013 P.Gumplinger (op-V09-06-00) 160 30th Apr.2013 P.Gumplinger (op-V09-06-00) 263 replace CLHEP::Rand*::shoot.. wi 161 replace CLHEP::Rand*::shoot.. with G4Rand*::shoot... 264 in G4OpBoundaryProcess 162 in G4OpBoundaryProcess 265 163 266 19th Oct.2012 G.Cosmo (op-V09-05-12) 164 19th Oct.2012 G.Cosmo (op-V09-05-12) 267 Corrected debug flag in G4OpBoun 165 Corrected debug flag in G4OpBoundaryProcess.cc to be 268 G4OPTICAL_DEBUG, as the one defi 166 G4OPTICAL_DEBUG, as the one defined in GNUmakefile... 269 167 270 17th Oct.2012 J.Apostolakis (op-V09-05-11) 168 17th Oct.2012 J.Apostolakis (op-V09-05-11) 271 Avoid the 'new' Event-abort exception, << 169 Avoid the 'new' Event-abort exception, by 'protecting' 272 it with G4DEBUG_OPTICAL_PROC 170 it with G4DEBUG_OPTICAL_PROC flag. 273 By default, the normal is now fl << 171 By default, the normal is now flipped instead 274 (as Geant4 9.5 and 9.5 patch 172 (as Geant4 9.5 and 9.5 patch 1 worked.) 275 173 276 5th Oct.2012 J.Apostolakis (op-V09-05-10) << 174 5th Oct.2012 J.Apostolakis (op-V09-05-10) 277 G4OpBoundaryProcess now uses Glo 175 G4OpBoundaryProcess now uses GlobalExitNormal() 278 ( same code as op-V09-05-06 ) 176 ( same code as op-V09-05-06 ) 279 177 280 ********* G4OpBoundaryProcess uses the *Global 178 ********* G4OpBoundaryProcess uses the *Global* Normal **** 281 179 282 5th Oct.2012 J.Apostolakis (op-V09-05-09) << 180 5th Oct.2012 J.Apostolakis (op-V09-05-09) 283 Retagged to enable testing - sam 181 Retagged to enable testing - same code as -07 below. 284 4th Oct.2012 J.Apostolakis (op-V09-05-07) 182 4th Oct.2012 J.Apostolakis (op-V09-05-07) 285 Added information in printout of << 183 Added information in printout of Exception on direction of 286 momentum and exiting normal. 184 momentum and exiting normal. 287 185 288 03rd Oct.2012 P.Gumplinger (op-V09-05-05a) 186 03rd Oct.2012 P.Gumplinger (op-V09-05-05a) 289 add G4Exception when theGlobalNo << 187 add G4Exception when theGlobalNormal points the 290 wrong direction in G4OpBoundaryP 188 wrong direction in G4OpBoundaryProcess 291 189 292 10th Jul.2012 G.Cosmo (op-V09-05-05) 190 10th Jul.2012 G.Cosmo (op-V09-05-05) 293 Explicitly use inclusion of head 191 Explicitly use inclusion of headers for system of units and 294 physical constants, in plan to r 192 physical constants, in plan to remove implicit inclusion from 295 globals.hh. 193 globals.hh. 296 194 297 20th Jun 2012 P.Gumplinger (op-V09-05-04) 195 20th Jun 2012 P.Gumplinger (op-V09-05-04) 298 remove methods: SetModel/GetMode 196 remove methods: SetModel/GetModel from G4OpBoundaryProcess class 299 197 300 7th Jun 2012 G.Cosmo (op-V09-05-03) 198 7th Jun 2012 G.Cosmo (op-V09-05-03) 301 Fixed trivial cases of variable 199 Fixed trivial cases of variable shadowing in G4OpMieHG.cc 302 and G4OpWLS.cc. 200 and G4OpWLS.cc. 303 201 304 17th May 2012 P.Gumplinger (op-V09-05-02) 202 17th May 2012 P.Gumplinger (op-V09-05-02) 305 G4OpWLS.hh, G4OpRayleigh.hh, G4O 203 G4OpWLS.hh, G4OpRayleigh.hh, G4OpAbsorption.hh, 306 G4OpMieHG.hh and G4OpBoundaryPro 204 G4OpMieHG.hh and G4OpBoundaryProcess.hh - 307 more fixing Coverity warnings 205 more fixing Coverity warnings 308 206 309 16th May 2012 P.Gumplinger (op-V09-05-01) 207 16th May 2012 P.Gumplinger (op-V09-05-01) 310 G4OpBoundaryProcess.cc - trying 208 G4OpBoundaryProcess.cc - trying to fix Coverity warnings 311 209 312 24th Jan 2012 P.Gumplinger (op-V09-05-00) 210 24th Jan 2012 P.Gumplinger (op-V09-05-00) 313 G4OpBoundaryProcess.cc - solves 211 G4OpBoundaryProcess.cc - solves Problem #1275 314 call aParticleChange.ProposeVelo 212 call aParticleChange.ProposeVelocity(aTrack.GetVelocity()) 315 at every invocation of DoIt; for 213 at every invocation of DoIt; for FresnelRefraction calculate 316 finalVelocity locally from Mater 214 finalVelocity locally from Material2-> 317 GetMaterialPropertiesTable()->Ge 215 GetMaterialPropertiesTable()->GetProperty("GROUPVEL") 318 216 319 28th Oct 2011 P.Gumplinger (op-V09-04-03) 217 28th Oct 2011 P.Gumplinger (op-V09-04-03) 320 add logic for ProposeVelocity to 218 add logic for ProposeVelocity to G4OpBoundaryProcess::PostStepDoIt 321 219 322 13th Oct 2011 P.Gumplinger (op-V09-04-02) 220 13th Oct 2011 P.Gumplinger (op-V09-04-02) 323 modify to work with materials-V0 221 modify to work with materials-V09-04-14 324 222 325 6th Oct 2011 P.Gumplinger (op-V09-04-01) 223 6th Oct 2011 P.Gumplinger (op-V09-04-01) 326 update G4Exception syntax in G4O 224 update G4Exception syntax in G4OpWLS.cc and 327 G4OpBoundaryProcess.cc 225 G4OpBoundaryProcess.cc 328 226 329 14th Jun 2011 Peter Gumplinger (op-V09-04-00) 227 14th Jun 2011 Peter Gumplinger (op-V09-04-00) 330 A dielectric_dielectric surface 228 A dielectric_dielectric surface may now have a wavelength 331 dependent property "TRANSMITTANC 229 dependent property "TRANSMITTANCE". If this is specified 332 for a surface it overwrites the 230 for a surface it overwrites the Snell's law's probability. 333 This allows the simulation of an 231 This allows the simulation of anti-reflective coatings. 334 Thanks to Evgueni Goudzovski (CE 232 Thanks to Evgueni Goudzovski (CERN) for the idea. 335 233 336 29th Oct 2010 Peter Gumplinger (op-V09-03-06) 234 29th Oct 2010 Peter Gumplinger (op-V09-03-06) 337 Fix minor Coverty Errors 235 Fix minor Coverty Errors 338 236 339 22th Oct 2010 Peter Gumplinger (op-V09-03-05) 237 22th Oct 2010 Peter Gumplinger (op-V09-03-05) 340 Add Mie Scattering of Optical Ph 238 Add Mie Scattering of Optical Photons 341 Thanks to Xin Qian (Kellogg Radi 239 Thanks to Xin Qian (Kellogg Radiation Lab of Caltech) 342 Based on work from Vlasios Vasil 240 Based on work from Vlasios Vasileiou (University of Maryland) 343 Henyey-Greenstein phase function 241 Henyey-Greenstein phase functions 344 242 345 21th Oct 2010 Peter Gumplinger (op-V09-03-04) 243 21th Oct 2010 Peter Gumplinger (op-V09-03-04) 346 Fix Bug 207; Thanks to Xin Qian 244 Fix Bug 207; Thanks to Xin Qian (Kellogg Radiation Lab of Caltech) 347 245 348 14th Jun 2010 Peter Gumplinger (op-V09-03-03) 246 14th Jun 2010 Peter Gumplinger (op-V09-03-03) 349 ProposeLocalEnergyDeposit(thePho 247 ProposeLocalEnergyDeposit(thePhotonMomentum) every time the 350 photon is fStopAndKill because o 248 photon is fStopAndKill because of NoRINDEX. This will trigger 351 scoring when a photon encounters 249 scoring when a photon encounters a volume not defined as an 352 optical medium (indirect user re 250 optical medium (indirect user request): 353 http://hypernews.slac.stanford.e 251 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/335/1.html 354 252 355 18th May 2010 Peter Gumplinger (op-V09-03-02) 253 18th May 2010 Peter Gumplinger (op-V09-03-02) 356 fix a bug reported at: 254 fix a bug reported at: 357 http://hypernews.slac.stanford.e 255 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/334/1/1.html 358 theFacetNormal was not sampled f 256 theFacetNormal was not sampled for polishedbackpainted 359 in DielectricDielectric method o 257 in DielectricDielectric method of G4OpBoundaryProcess 360 258 361 19th Apr 2010 Peter Gumplinger (op-V09-03-01) 259 19th Apr 2010 Peter Gumplinger (op-V09-03-01) 362 fix Problem report #1114 in that 260 fix Problem report #1114 in that for backpainted 363 surfaces theReflectivity is not << 261 surfaces theReflectivity is not applied twice. 364 While doing the fix I also compl << 262 While doing the fix I also completely refashioning the 365 code in the case of type == diel 263 code in the case of type == dielectric_dielect. 366 264 367 19th Jan 2010 Peter Gumplinger (op-V09-03-00) 265 19th Jan 2010 Peter Gumplinger (op-V09-03-00) 368 assign PropertyPointers to NULL 266 assign PropertyPointers to NULL at the start of the 369 PostStepDoIt, addresses bug repo 267 PostStepDoIt, addresses bug report #1094 370 268 371 19th Nov 2009 Peter Gumplinger (op-V09-02-06) 269 19th Nov 2009 Peter Gumplinger (op-V09-02-06) 372 change the code such that the LU 270 change the code such that the LUT are now read in and kept 373 by G4OpticalSurface and not G4Op 271 by G4OpticalSurface and not G4OpBoundaryProcess, reordering 374 of enumeration and set theStatus 272 of enumeration and set theStatus in DielectricLUT. 375 273 376 11th Nov 2009 Peter Gumplinger (op-V09-02-05) 274 11th Nov 2009 Peter Gumplinger (op-V09-02-05) 377 add capability of simulating sur 275 add capability of simulating surface reflections 378 with Look-Up-Tables (LUT) contai 276 with Look-Up-Tables (LUT) containing measured 379 optical reflectance for a variet 277 optical reflectance for a variety of surface 380 treatments - Thanks to Martin Ja 278 treatments - Thanks to Martin Janecek and 381 William Moses (Lawrence Berkeley 279 William Moses (Lawrence Berkeley National Lab.) 382 280 383 9th Nov 2009 Peter Gumplinger (op-V09-02-04) 281 9th Nov 2009 Peter Gumplinger (op-V09-02-04) 384 G4OpBoundary: initialze theRefle 282 G4OpBoundary: initialze theReflectivity and theEfficiency 385 at the beginning of the PostStep 283 at the beginning of the PostStepDoIt; add method 386 BoundaryProcessVerbose which wil 284 BoundaryProcessVerbose which will now print the process 387 status for every call to PostSte 285 status for every call to PostStepDoIt. 388 286 389 5th Nov 2009 Peter Gumplinger (op-V09-02-03) 287 5th Nov 2009 Peter Gumplinger (op-V09-02-03) 390 G4OpBoundary::PostStepDoIt - all 288 G4OpBoundary::PostStepDoIt - all dielectric_dielectric 391 surfaces may now have a reflecti 289 surfaces may now have a reflectivity <1; not only 392 'frontpainted' as was the case i 290 'frontpainted' as was the case in the past. 393 291 394 6th May 2009 Peter Gumplinger (op-V09-02-02) 292 6th May 2009 Peter Gumplinger (op-V09-02-02) 395 G4OpBoundary::PostStepDoIt now t 293 G4OpBoundary::PostStepDoIt now throws an G4Exception 396 EventMustBeAborted when an inval 294 EventMustBeAborted when an invalid surface normal is returnd; 397 addresses bug report #1060 295 addresses bug report #1060 398 296 399 23th Mar 2009 Peter Gumplinger (op-V09-02-01) 297 23th Mar 2009 Peter Gumplinger (op-V09-02-01) 400 for complex index of refraction: 298 for complex index of refraction: (1)resample the reflectivity 401 every time in the do-while of Di 299 every time in the do-while of DielectricMetal, but don't 402 re-calculate theFacetNormal (whi 300 re-calculate theFacetNormal (which has already been chosen 403 in CalculateReflectivity), also 301 in CalculateReflectivity), also (2) avoid an infinite loop by 404 resetting iTE and iTM inside the 302 resetting iTE and iTM inside the do-while of GetReflectivity; 405 both are bug-fixes. 303 both are bug-fixes. 406 304 407 14th Jan 2009 Peter Gumplinger (op-V09-02-00) 305 14th Jan 2009 Peter Gumplinger (op-V09-02-00) 408 respond to bug report 1040 by fi << 306 respond to bug report 1040 by fixing G4OpBoundaryProcess.cc 409 307 410 07th Nov 2008 Peter Gumplinger (op-V09-01-09) 308 07th Nov 2008 Peter Gumplinger (op-V09-01-09) 411 use new global/HEPRandom's G4Ran 309 use new global/HEPRandom's G4RandomTools.hh 412 310 413 24th Oct 2008 Peter Gumplinger (op-V09-01-08) 311 24th Oct 2008 Peter Gumplinger (op-V09-01-08) 414 use local G4OpProcessSubType.hh 312 use local G4OpProcessSubType.hh 415 313 416 21st Oct 2008 Peter Gumplinger (op-V09-01-07) 314 21st Oct 2008 Peter Gumplinger (op-V09-01-07) 417 add SetProcessSubType for G4OpAb 315 add SetProcessSubType for G4OpAbsorption, G4OpBoundaryProcess, 418 G4OpRayleigh and G4OpWLS 316 G4OpRayleigh and G4OpWLS 419 317 420 18th Aug 2008 Peter Gumplinger (op-V09-01-06) 318 18th Aug 2008 Peter Gumplinger (op-V09-01-06) 421 use signatures G4SwapPtr(T*& and 319 use signatures G4SwapPtr(T*& and G4SwapObj(T* 422 in G4OpBoundaryProcess - to work 320 in G4OpBoundaryProcess - to work with global-V09-01-12 423 321 424 15th Aug 2008 Peter Gumplinger (op-V09-01-05) 322 15th Aug 2008 Peter Gumplinger (op-V09-01-05) 425 replaced G4SwapPtr with G4SwapOb 323 replaced G4SwapPtr with G4SwapObj for Rindex 426 in G4OpBoundaryProcess - serious 324 in G4OpBoundaryProcess - serious error since op-V09-01-00 427 (see also Problem Report 1020) 325 (see also Problem Report 1020) 428 326 429 4th July 2008 Peter Gumplinger (op-V09-01-04) 327 4th July 2008 Peter Gumplinger (op-V09-01-04) 430 In G4OpWLS now SetTouchableHandl 328 In G4OpWLS now SetTouchableHandle(aTrack.GetTouchableHandle()) 431 for the secondaries in the DoIt. 329 for the secondaries in the DoIt. 432 In G4OpBoundaryProcess.cc initia 330 In G4OpBoundaryProcess.cc initialize the pointer: 433 G4LogicalSurface* Surface = NULL 331 G4LogicalSurface* Surface = NULL; 434 332 435 27th June 2008 Peter Gumplinger (op-V09-01-03) 333 27th June 2008 Peter Gumplinger (op-V09-01-03) 436 In G4OpBoundaryProcess changed 334 In G4OpBoundaryProcess changed unsafe cast 437 (G4OpticalSurface*) to dynamic_ 335 (G4OpticalSurface*) to dynamic_cast<G4OpticalSurface*> 438 following suggestion in bug-rep 336 following suggestion in bug-report #1014 439 337 440 6th June 2008 Peter Gumplinger (op-V09-01-02) 338 6th June 2008 Peter Gumplinger (op-V09-01-02) 441 G4OpRayleigh, G4OpWLS = trivial << 339 G4OpRayleigh, G4OpWLS = trivial name changes: 442 momentum->energy, momenta->energ 340 momentum->energy, momenta->energies 443 341 444 5th June 2008 Peter Gumplinger (op-V09-01-00) 342 5th June 2008 Peter Gumplinger (op-V09-01-00) 445 G4OpBoundaryProcess: Removed G4S 343 G4OpBoundaryProcess: Removed G4Swap methods - replaced by 446 G4SwapPtr. Removed G4IsotropicRa 344 G4SwapPtr. Removed G4IsotropicRand method - replaced by 447 G4RandomDirection. Add commented 345 G4RandomDirection. Add commented code to change absorption 448 at a dielectric/metal boundary i 346 at a dielectric/metal boundary into transmission. 449 347 450 29th Oct 2007 Peter Gumplinger (op-V09-00-01) 348 29th Oct 2007 Peter Gumplinger (op-V09-00-01) 451 In G4OpWLS.cc allow for the Mean 349 In G4OpWLS.cc allow for the MeanNumberOfPhotons to be 452 different from one, in case the << 350 different from one, in case the constant property: 453 WLSMEANNUMBERPHOTONS is provided << 351 WLSMEANNUMBERPHOTONS is provided and, if it is, sample 454 NumPhotons with G4Poisson. 352 NumPhotons with G4Poisson. 455 353 456 15th Oct 2007 Peter Gumplinger (op-V09-00-00) 354 15th Oct 2007 Peter Gumplinger (op-V09-00-00) 457 Add capability of calculating th 355 Add capability of calculating the reflectivity off a metal 458 surface by way of a complex inde 356 surface by way of a complex index of refraction. 459 Thanks to Sehwook Lee and John H 357 Thanks to Sehwook Lee and John Hauptman 460 (Dept. of Physics - Iowa State U 358 (Dept. of Physics - Iowa State Univ.) 461 359 462 11th May 2007 Gabriele Cosmo (op-V08-03-00) 360 11th May 2007 Gabriele Cosmo (op-V08-03-00) 463 Use call to G4GeometryTolerance 361 Use call to G4GeometryTolerance instead of kCarTolerance in 464 G4OpBoundaryProcess. 362 G4OpBoundaryProcess. 465 Requires tag "global-V08-03-00" 363 Requires tag "global-V08-03-00" and related tag set. 466 364 467 11th May 2006 Peter Gumplinger (op-V08-00-01) 365 11th May 2006 Peter Gumplinger (op-V08-00-01) 468 thanks to Andreia Trindade and P 366 thanks to Andreia Trindade and Pedro Rodrigues, the WLS time 469 delay can now be a delta functio 367 delay can now be a delta function or exponential. New classes: 470 G4VWLSTimeGeneratorProfile, G4WL 368 G4VWLSTimeGeneratorProfile, G4WLSTimeGeneratorProfileDelta and 471 G4WLSTimeGeneratorProfileExponen 369 G4WLSTimeGeneratorProfileExponential 472 370 473 17th Feb 2006 Peter Gumplinger (op-V08-00-00) 371 17th Feb 2006 Peter Gumplinger (op-V08-00-00) 474 fix default behaviour for unifie 372 fix default behaviour for unified model of dielectric_metal 475 373 476 28th July 2005 Peter Gumplinger (op-V07-01-00) 374 28th July 2005 Peter Gumplinger (op-V07-01-00) 477 add G4ProcessType to all constr 375 add G4ProcessType to all constructors 478 376 479 10th December 2004 Gabriele Cosmo (op-V06-02-0 377 10th December 2004 Gabriele Cosmo (op-V06-02-06) 480 replaced M_PI with CLHEP's pi 378 replaced M_PI with CLHEP's pi 481 379 482 02nd December 2004 Peter Gumplinger (op-V06-02 380 02nd December 2004 Peter Gumplinger (op-V06-02-05) 483 migration to cmath 381 migration to cmath 484 382 485 28th October 2004 Gabriele Cosmo (op-V06-02-04 383 28th October 2004 Gabriele Cosmo (op-V06-02-04) 486 Added G4OPTICAL_DEBUG flag for 384 Added G4OPTICAL_DEBUG flag for debug printout. 487 385 488 18th October 2004 Peter Gumplinger (op-V06-02- 386 18th October 2004 Peter Gumplinger (op-V06-02-03) 489 Fix bug in DielectricMetal onl 387 Fix bug in DielectricMetal only GetFacetNormal for 490 LobeReflection. 388 LobeReflection. 491 Migrate files to 7.0 ParticleC 389 Migrate files to 7.0 ParticleChange method names: 492 G4OpBoundaryProcess.hh, G4OpBo 390 G4OpBoundaryProcess.hh, G4OpBoundaryProcess.cc, 493 G4OpWLS.cc, G4OpRayleigh.cc, G 391 G4OpWLS.cc, G4OpRayleigh.cc, G4OpAbsorption.cc 494 392 495 27th September 2004 Peter Gumplinger (op-V06-0 393 27th September 2004 Peter Gumplinger (op-V06-02-02) 496 Fix bug in G4PlaneVectorRand a 394 Fix bug in G4PlaneVectorRand and resample 497 theFacetNormal for LobeReflect 395 theFacetNormal for LobeReflection in DielectricMetal 498 396 499 12th August 2004 Peter Gumplinger (op-V06-02-0 397 12th August 2004 Peter Gumplinger (op-V06-02-01) 500 In G4OpBoundaryProcess.cc: use << 398 In G4OpBoundaryProcess.cc: use GetMaterial from 501 G4StepPoint directly; apply/sa << 399 G4StepPoint directly; apply/sample reflectivity and 502 Unified model reflection param 400 Unified model reflection parameters only once even 503 for rough dielectric/metal sur 401 for rough dielectric/metal surfaces - i.e. not again 504 even when reflected ray still 402 even when reflected ray still points toward the 505 surface - fixes problem report 403 surface - fixes problem report 654. 506 404 507 05th August 2004 Peter Gumplinger (op-V06-02-0 405 05th August 2004 Peter Gumplinger (op-V06-02-00) 508 Allow for unified model reflec << 406 Allow for unified model reflectivity parameters 509 to also work in case of dielec 407 to also work in case of dielectric_metal surfaces; 510 addresses in part problem repo 408 addresses in part problem report 654. 511 409 512 26th April 2004 Peter Gumplinger (op-V06-01-01 410 26th April 2004 Peter Gumplinger (op-V06-01-01) 513 Protect against NULL pointers 411 Protect against NULL pointers in G4OpRayleigh. 514 Do not overwrite Rayleigh scat 412 Do not overwrite Rayleigh scattering length 515 for the material named 'Water' 413 for the material named 'Water' if it has been 516 specified by the user through 414 specified by the user through a call to 517 AddProperty("RAYLEIGH" 415 AddProperty("RAYLEIGH" 518 416 519 21st April 2004 Peter Gumplinger (op-V06-01-00 417 21st April 2004 Peter Gumplinger (op-V06-01-00) 520 Assign class members to defaul 418 Assign class members to defaults in DoIt. 521 419 522 17th March 2004 Peter Gumplinger (op-V06-00-03 420 17th March 2004 Peter Gumplinger (op-V06-00-03) 523 Assign all class members in co 421 Assign all class members in constructor. 524 422 525 24th February 2004 Gabriele Cosmo (op-V06-00-0 423 24th February 2004 Gabriele Cosmo (op-V06-00-02) 526 Added EOL at end of file in G4 424 Added EOL at end of file in G4OpBoundaryProcess.cc to clear 527 compilation warning in Linux-g 425 compilation warning in Linux-g++. 528 426 529 19th February 2004 Peter Gumplinger (op-V06-00 427 19th February 2004 Peter Gumplinger (op-V06-00-01) 530 Add process status: NotAtBound << 428 Add process status: NotAtBoundary, SameMaterial, 531 StepTooSma 429 StepTooSmall, NoRINDEX 532 Allow for a skin-surface betwe 430 Allow for a skin-surface between mother and daughter 533 volumes, with the daughter ski 431 volumes, with the daughter skin taking precedence. 534 432 535 2nd February 2004 Peter Gumplinger (op-V06-00- 433 2nd February 2004 Peter Gumplinger (op-V06-00-00) 536 Set theStatus = Undefined at s 434 Set theStatus = Undefined at start of DoIt 537 Replace usage of 0 with NULL. 435 Replace usage of 0 with NULL. 538 << 436 539 1st December 2003 Peter Gumplinger (op-V05-02- 437 1st December 2003 Peter Gumplinger (op-V05-02-02) 540 G4OpBoundaryProcess.cc: modifi 438 G4OpBoundaryProcess.cc: modified to adopt G4SurfaceProperty. 541 Requires tag "materials-V05-02 439 Requires tag "materials-V05-02-00". 542 Replaced usage of NULL with 0. 440 Replaced usage of NULL with 0. 543 441 544 4th October 2003 Gabriele Cosmo (op-V05-02-01) 442 4th October 2003 Gabriele Cosmo (op-V05-02-01) 545 Modified GNUmakefile: added de 443 Modified GNUmakefile: added dependency to new module 546 "geometry/navigation". 444 "geometry/navigation". 547 Coworks with "geometry-V05-02- 445 Coworks with "geometry-V05-02-00" and "digits_hits-V05-02-00". 548 446 549 23rd September 2003 Peter Gumplinger (op-V05-0 447 23rd September 2003 Peter Gumplinger (op-V05-02-00) 550 Add WLS (wavelength shifting) 448 Add WLS (wavelength shifting) process 551 15th March 2003 Peter Gumplinger (op-V05-00-01 449 15th March 2003 Peter Gumplinger (op-V05-00-01) 552 Change logic for assigning of 450 Change logic for assigning of Rindex2; bug report #444 553 4th February 2003 Peter Gumplinger (op-V05-00- 451 4th February 2003 Peter Gumplinger (op-V05-00-00) 554 Fix calculation of polarizatio 452 Fix calculation of polarization for perpendicular 555 incidence when Rindex1 > Rinde << 453 incidence when Rindex1 > Rindex2; bug report #442 556 12th November 2002 Peter Gumplinger (op-V04-01 454 12th November 2002 Peter Gumplinger (op-V04-01-01) 557 Fix calculation of polarizatio 455 Fix calculation of polarization on dielectric dielectric 558 interfaces; bug report #427 456 interfaces; bug report #427 559 28th March 2002 Peter Gumplinger (op-V04-00-01 457 28th March 2002 Peter Gumplinger (op-V04-00-01) 560 Add public inline method GetSt << 458 Add public inline method GetStatus and make enum 561 G4OpBoundaryProcessStatus publ 459 G4OpBoundaryProcessStatus public in G4OpBoundaryProcess.hh 562 18th October 2001 Peter Gumplinger (op-V03-02- 460 18th October 2001 Peter Gumplinger (op-V03-02-01) 563 Avoid warnings on Linux (gcc-2.9 461 Avoid warnings on Linux (gcc-2.95.2) compiler 564 - G4OpRayleigh.cc: remove unused variable 'aMa 462 - G4OpRayleigh.cc: remove unused variable 'aMaterial' in PostStepDoIt and 565 'no_unit' in RayleighAttenu 463 'no_unit' in RayleighAttenuationLengthGenerator 566 - G4OpBoundaryProcess.cc: moved definition of 464 - G4OpBoundaryProcess.cc: moved definition of E2_perp, E2_parl, E2_total 567 outside IF-statement 465 outside IF-statement 568 31st August 2001 Peter Gumplinger (op-V03-02-0 466 31st August 2001 Peter Gumplinger (op-V03-02-00) 569 - G4OpRayleigh.hh, G4OpBoundary.hh and G4OpAbs 467 - G4OpRayleigh.hh, G4OpBoundary.hh and G4OpAbsorption.hh: changed processName 570 to 'OpRayleigh', 'OpBoundar 468 to 'OpRayleigh', 'OpBoundary' and 'OpAbsorption' respectively 571 469 572 30th January 2001 Peter Gumplinger (op-V03-00- 470 30th January 2001 Peter Gumplinger (op-V03-00-05) 573 - G4OpRayleigh.cc: allow for positiv and negat 471 - G4OpRayleigh.cc: allow for positiv and negative CosTheta and force the 574 new momentum direction to b 472 new momentum direction to be in the same plane as the 575 new and old polarization ve 473 new and old polarization vectors 576 still bug report: 207 474 still bug report: 207 577 475 578 29th January 2001 Peter Gumplinger (op-V03-00- 476 29th January 2001 Peter Gumplinger (op-V03-00-04) 579 - G4OpRayleigh.cc: fix calculation of SinTheta 477 - G4OpRayleigh.cc: fix calculation of SinTheta from CosTheta 580 bug report: 207 478 bug report: 207 581 479 582 23rd January 2001 Peter Gumplinger (op-V03-00- 480 23rd January 2001 Peter Gumplinger (op-V03-00-02) 583 - G4OpRayleigh.cc: Allow for Rayleigh scatteri << 481 - G4OpRayleigh.cc: Allow for Rayleigh scattering length to be defined for 584 arbitrary material through the use 482 arbitrary material through the use of G4MaterialPropertyTable. 585 483 586 5th October 2000 Peter Gumplinger (op-V02-00- 484 5th October 2000 Peter Gumplinger (op-V02-00-02) 587 - G4OpAbsorption.cc: Comment out warning - No 485 - G4OpAbsorption.cc: Comment out warning - No Absorption length specified. 588 486 589 3rd August 2000 Gabriele Cosmo (op-V02-00-00r 487 3rd August 2000 Gabriele Cosmo (op-V02-00-00r) 590 - G4OpBoundaryProcess.cc: changed RandGauss to 488 - G4OpBoundaryProcess.cc: changed RandGauss to G4RandGauss to fix problem 591 of events' reproducibility. 489 of events' reproducibility. 592 - Syncronized with HEAD (only CVS headers chan 490 - Syncronized with HEAD (only CVS headers changes). 593 491 594 21th October 1999 Peter Gumplinger (op-V00-01 492 21th October 1999 Peter Gumplinger (op-V00-01-01) 595 - G4OpBoundaryProcess.hh and G4OpBoundaryProce 493 - G4OpBoundaryProcess.hh and G4OpBoundaryProcess.cc have been modified 596 (Fill NewMomentum/NewPolarization in DoAbsor 494 (Fill NewMomentum/NewPolarization in DoAbsorption. These members need 597 to be filled since DoIt calls aParticleChang 495 to be filled since DoIt calls aParticleChange.SetMomentumChange etc. 598 upon return (thanks to: Clark McGrew) 496 upon return (thanks to: Clark McGrew)