64 #ifndef G4OpBoundaryProcess_h
65 #define G4OpBoundaryProcess_h 1
185 void DielectricMetal();
186 void DielectricDielectric();
187 void DielectricLUT();
188 void DielectricDichroic();
190 void ChooseReflection();
204 void CalculateReflectivity(
void);
206 void BoundaryProcessVerbose(
void)
const;
236 G4double cost1, cost2, sint1, sint2;
262 G4bool G4OpBoundaryProcess::G4BooleanRand(
const G4double prob)
const
283 void G4OpBoundaryProcess::ChooseReflection()
286 if ( rand >= 0.0 && rand < prob_ss ) {
288 theFacetNormal = theGlobalNormal;
290 else if ( rand >= prob_ss &&
291 rand <= prob_ss+prob_sl) {
294 else if ( rand > prob_ss+prob_sl &&
295 rand < prob_ss+prob_sl+prob_bs ) {
304 void G4OpBoundaryProcess::DoAbsorption()
308 if ( G4BooleanRand(theEfficiency) ) {
318 NewMomentum = OldMomentum;
319 NewPolarization = OldPolarization;
326 void G4OpBoundaryProcess::DoReflection()
331 theFacetNormal = (NewMomentum - OldMomentum).unit();
334 else if ( theFinish ==
ground ) {
337 if ( PropertyPointer1 && PropertyPointer2 ){
340 GetFacetNormal(OldMomentum,theGlobalNormal);
342 G4double PdotN = OldMomentum * theFacetNormal;
343 NewMomentum = OldMomentum - (2.*PdotN)*theFacetNormal;
349 theFacetNormal = theGlobalNormal;
350 G4double PdotN = OldMomentum * theFacetNormal;
351 NewMomentum = OldMomentum - (2.*PdotN)*theFacetNormal;
354 G4double EdotN = OldPolarization * theFacetNormal;
355 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)