Changeset 1315 for trunk/source/processes/optical
- Timestamp:
- Jun 18, 2010, 11:42:07 AM (14 years ago)
- Location:
- trunk/source/processes/optical
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/optical/History
r1196 r1315 16 16 * Reverse chronological order (last date on top), please * 17 17 ---------------------------------------------------------- 18 19 18th May 2010 Peter Gumplinger (op-V09-03-02) 20 fix a bug reported at: 21 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/334/1/1.html 22 theFacetNormal was not sampled for polishedbackpainted 23 in DielectricDielectric method of G4OpBoundaryProcess 24 25 19th Apr 2010 Peter Gumplinger (op-V09-03-01) 26 fix Problem report #1114 in that for backpainted 27 surfaces theReflectivity is not applied twice. 28 While doing the fix I also completely refashioning the 29 code in the case of type == dielectric_dielect. 30 31 19th Jan 2010 Peter Gumplinger (op-V09-03-00) 32 assign PropertyPointers to NULL at the start of the 33 PostStepDoIt, addresses bug report #1094 18 34 19 35 19th Nov 2009 Peter Gumplinger (op-V09-02-06) -
trunk/source/processes/optical/src/G4OpBoundaryProcess.cc
r1228 r1315 113 113 prob_bs = 0.; 114 114 115 PropertyPointer = NULL; 116 PropertyPointer1 = NULL; 117 PropertyPointer2 = NULL; 118 115 119 kCarTolerance = G4GeometryTolerance::GetInstance() 116 120 ->GetSurfaceTolerance(); … … 418 422 else if (type == dielectric_dielectric) { 419 423 420 if ( theFinish == polishedfrontpainted || 421 theFinish == groundfrontpainted ) { 422 if( !G4BooleanRand(theReflectivity) ) { 423 DoAbsorption(); 424 } 425 else { 426 if ( theFinish == groundfrontpainted ) 427 theStatus = LambertianReflection; 428 DoReflection(); 429 } 430 } 424 if ( theFinish == polishedbackpainted || 425 theFinish == groundbackpainted ) { 426 DielectricDielectric(); 427 } 431 428 else { 432 if( !G4BooleanRand(theReflectivity) ) { 433 DoAbsorption(); 434 } 435 else { 436 DielectricDielectric(); 437 } 438 } 439 } 429 if ( !G4BooleanRand(theReflectivity) ) { 430 DoAbsorption(); 431 } 432 else { 433 if ( theFinish == polishedfrontpainted ) { 434 DoReflection(); 435 } 436 else if ( theFinish == groundfrontpainted ) { 437 theStatus = LambertianReflection; 438 DoReflection(); 439 } 440 else { 441 DielectricDielectric(); 442 } 443 } 444 } 445 } 440 446 else { 441 447 … … 781 787 G4SwapObj(&Rindex1,&Rindex2); 782 788 } 783 784 if ( theFinish == ground || theFinish == groundbackpainted ) { 785 theFacetNormal = 786 GetFacetNormal(OldMomentum,theGlobalNormal); 789 790 if ( theFinish == polished ) { 791 theFacetNormal = theGlobalNormal; 787 792 } 788 793 else { 789 theFacetNormal = theGlobalNormal; 794 theFacetNormal = 795 GetFacetNormal(OldMomentum,theGlobalNormal); 790 796 } 791 797
Note: See TracChangeset
for help on using the changeset viewer.