64 #ifndef G4OpBoundaryProcess_h
65 #define G4OpBoundaryProcess_h 1
188 void DielectricMetal();
189 void DielectricDielectric();
190 void DielectricLUT();
191 void DielectricDichroic();
193 void ChooseReflection();
207 void CalculateReflectivity(
void);
209 void BoundaryProcessVerbose(
void)
const;
239 G4double cost1, cost2, sint1, sint2;
270 G4bool G4OpBoundaryProcess::G4BooleanRand(
const G4double prob)
const
297 void G4OpBoundaryProcess::ChooseReflection()
300 if ( rand >= 0.0 && rand < prob_ss ) {
302 theFacetNormal = theGlobalNormal;
304 else if ( rand >= prob_ss &&
305 rand <= prob_ss+prob_sl) {
308 else if ( rand > prob_ss+prob_sl &&
309 rand < prob_ss+prob_sl+prob_bs ) {
318 void G4OpBoundaryProcess::DoAbsorption()
322 if ( G4BooleanRand(theEfficiency) ) {
332 NewMomentum = OldMomentum;
333 NewPolarization = OldPolarization;
340 void G4OpBoundaryProcess::DoReflection()
345 theFacetNormal = (NewMomentum - OldMomentum).unit();
348 else if ( theFinish ==
ground ) {
351 if ( PropertyPointer1 && PropertyPointer2 ){
354 GetFacetNormal(OldMomentum,theGlobalNormal);
356 G4double PdotN = OldMomentum * theFacetNormal;
357 NewMomentum = OldMomentum - (2.*PdotN)*theFacetNormal;
363 theFacetNormal = theGlobalNormal;
364 G4double PdotN = OldMomentum * theFacetNormal;
365 NewMomentum = OldMomentum - (2.*PdotN)*theFacetNormal;
368 G4double EdotN = OldPolarization * theFacetNormal;
369 NewPolarization = -OldPolarization + (2.*EdotN)*theFacetNormal;
G4double condition(const G4ErrorSymMatrix &m)
G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep)
G4OpBoundaryProcessStatus
G4OpBoundaryProcess(const G4String &processName="OpBoundary", G4ProcessType type=fOptical)
G4OpBoundaryProcessStatus GetStatus() const
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
G4double GetMeanFreePath(const G4Track &, G4double, G4ForceCondition *condition)
static G4OpticalPhoton * OpticalPhoton()
G4ParticleChange aParticleChange
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
void ProposeTrackStatus(G4TrackStatus status)