Import Geant4 10.3.0.beta source tree
This commit is contained in:
@@ -142,6 +142,8 @@ G4OpBoundaryProcess::G4OpBoundaryProcess(const G4String& processName,
|
||||
|
||||
idx = idy = 0;
|
||||
DichroicVector = NULL;
|
||||
|
||||
fInvokeSD = true;
|
||||
}
|
||||
|
||||
// G4OpBoundaryProcess::G4OpBoundaryProcess(const G4OpBoundaryProcess &right)
|
||||
@@ -537,7 +539,7 @@ G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
|
||||
aParticleChange.ProposeVelocity(finalVelocity);
|
||||
}
|
||||
|
||||
if ( theStatus == Detection ) InvokeSD(pStep);
|
||||
if ( theStatus == Detection && fInvokeSD ) InvokeSD(pStep);
|
||||
|
||||
return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep);
|
||||
}
|
||||
@@ -849,20 +851,17 @@ void G4OpBoundaryProcess::DielectricLUT()
|
||||
phiRad = (-90 + 5*phiIndex)*pi/180;
|
||||
// Rotate Photon Momentum in Theta, then in Phi
|
||||
NewMomentum = -OldMomentum;
|
||||
|
||||
PerpendicularVectorTheta = NewMomentum.cross(theGlobalNormal);
|
||||
if (PerpendicularVectorTheta.mag() > kCarTolerance ) {
|
||||
PerpendicularVectorPhi =
|
||||
PerpendicularVectorTheta.cross(NewMomentum);
|
||||
}
|
||||
else {
|
||||
PerpendicularVectorTheta = NewMomentum.orthogonal();
|
||||
PerpendicularVectorPhi =
|
||||
PerpendicularVectorTheta.cross(NewMomentum);
|
||||
}
|
||||
if (PerpendicularVectorTheta.mag() < kCarTolerance )
|
||||
PerpendicularVectorTheta = NewMomentum.orthogonal();
|
||||
NewMomentum =
|
||||
NewMomentum.rotate(anglePhotonToNormal-thetaRad,
|
||||
PerpendicularVectorTheta);
|
||||
PerpendicularVectorPhi =
|
||||
PerpendicularVectorTheta.cross(NewMomentum);
|
||||
NewMomentum = NewMomentum.rotate(-phiRad,PerpendicularVectorPhi);
|
||||
|
||||
// Rotate Polarization too:
|
||||
theFacetNormal = (NewMomentum - OldMomentum).unit();
|
||||
EdotN = OldPolarization * theFacetNormal;
|
||||
|
||||
Reference in New Issue
Block a user