Import Geant4 10.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2016-06-30 14:12:05 +02:00
parent a654a7ab1f
commit 4ec577e5c4
2021 changed files with 100995 additions and 78277 deletions
@@ -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;