Import Geant4 11.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2025-12-05 08:54:02 +01:00
parent a499fb82e9
commit b4a16de652
6484 changed files with 232674 additions and 221097 deletions
@@ -170,6 +170,11 @@ class G4OpBoundaryProcess : public G4VDiscreteProcess
void ChooseReflection();
void DoAbsorption();
void DoReflection();
void DoTransmission();
void ApplyDielectricBoundaryTransition(G4double cost, G4bool roughnessPass,
G4bool& inside, G4bool& swap);
// Apply boundary actions at a dielectricdielectric interface
G4double GetIncidentAngle();
// Returns the incident angle of optical photon
@@ -191,6 +196,12 @@ class G4OpBoundaryProcess : public G4VDiscreteProcess
// Invoke SD for post step point if the photon is 'detected'
G4bool InvokeSD(const G4Step* step);
// Check if the given surface finish corresponds to a backpainted surface
static constexpr G4bool IsBackpainted(G4OpticalSurfaceFinish finish) noexcept
{
return finish == polishedbackpainted || finish == groundbackpainted;
}
G4ThreeVector fOldMomentum;
G4ThreeVector fOldPolarization;
@@ -321,6 +332,15 @@ inline void G4OpBoundaryProcess::DoAbsorption()
aParticleChange.ProposeTrackStatus(fStopAndKill);
}
inline void G4OpBoundaryProcess::DoTransmission()
{
// Optical photons pass through the boundary without changing momentum or
// polarization
fStatus = Transmission;
fNewMomentum = fOldMomentum;
fNewPolarization = fOldPolarization;
}
inline void G4OpBoundaryProcess::DoReflection()
{
if(fStatus == LambertianReflection)