#include <G4TankOpBoundaryProcess.h>
Public Member Functions | |
G4TankOpBoundaryProcess (const G4String &processName="OpBoundary", const G4ProcessType type=fOptical) | |
virtual G4double | GetMeanFreePath (const G4Track &, const G4double, G4ForceCondition *const condition) override |
virtual G4bool | IsApplicable (const G4ParticleDefinition &particleType) override |
virtual G4VParticleChange * | PostStepDoIt (const G4Track &track, const G4Step &step) override |
void | SetModel (const G4OpticalSurfaceModel model) |
virtual | ~G4TankOpBoundaryProcess () |
Private Member Functions | |
void | ChooseReflection () |
void | DielectricDielectric () |
void | DielectricMetal () |
void | DoAbsorption () |
void | DoReflection () |
G4bool | G4BooleanRand (const G4double prob) const |
G4ThreeVector | G4IsotropicRand () const |
G4ThreeVector | G4LambertianRand (const G4ThreeVector &normal) const |
G4ThreeVector | G4PlaneVectorRand (const G4ThreeVector &normal) const |
G4ThreeVector | GetFacetNormal (const G4ThreeVector &momentum, const G4ThreeVector &normal) const |
Private Attributes | |
G4double | fEfficiency = 0 |
G4ThreeVector | fFacetNormal |
G4OpticalSurfaceFinish | fFinish = polished |
G4ThreeVector | fGlobalNormal |
G4Material * | fMaterial1 = nullptr |
G4Material * | fMaterial2 = nullptr |
G4OpticalSurfaceModel | fModel = glisur |
G4ThreeVector | fNewMomentum |
G4ThreeVector | fNewPolarization |
G4ThreeVector | fOldMomentum |
G4ThreeVector | fOldPolarization |
G4OpticalSurface * | fOpticalSurface = nullptr |
G4double | fPhotonMomentum = 0 |
G4double | fProb_bs = 0 |
G4double | fProb_sl = 0 |
G4double | fProb_ss = 0 |
G4double | fReflectivity = 0 |
G4double | fRIndex1 = 0 |
G4double | fRIndex2 = 0 |
G4TankOpBoundaryProcessStatus | fStatus = Undefined |
G4double | kCarTolerance = 0 |
Definition at line 95 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
G4StationSimulatorOG::G4TankOpBoundaryProcess::G4TankOpBoundaryProcess | ( | const G4String & | processName = "OpBoundary" , |
const G4ProcessType | type = fOptical |
||
) |
Definition at line 50 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
|
inlinevirtual |
Definition at line 101 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
|
private |
Definition at line 598 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References G4StationSimulatorOG::BackScattering, fFacetNormal, fGlobalNormal, fProb_bs, fProb_sl, fProb_ss, fStatus, G4StationSimulatorOG::LambertianReflection, G4StationSimulatorOG::LobeReflection, and G4StationSimulatorOG::SpikeReflection.
Referenced by DielectricDielectric().
|
private |
Definition at line 375 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References utl::abs(), G4StationSimulatorOG::BackScattering, ChooseReflection(), DoAbsorption(), DoReflection(), fFacetNormal, fFinish, fGlobalNormal, fMaterial1, fMaterial2, fModel, fNewMomentum, fNewPolarization, fOldMomentum, fOldPolarization, fReflectivity, G4StationSimulatorOG::FresnelReflection, G4StationSimulatorOG::FresnelRefraction, fRIndex1, fRIndex2, fStatus, G4BooleanRand(), GetFacetNormal(), kCarTolerance, G4StationSimulatorOG::LambertianReflection, utl::Sqr(), sqrt(), swap(), std::swap(), and G4StationSimulatorOG::TotalInternalReflection.
Referenced by PostStepDoIt().
|
private |
Definition at line 359 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References DoAbsorption(), DoReflection(), fGlobalNormal, fNewMomentum, fNewPolarization, fOldMomentum, fOldPolarization, fReflectivity, and G4BooleanRand().
Referenced by PostStepDoIt().
|
private |
Definition at line 614 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References G4StationSimulatorOG::Absorption, G4StationSimulatorOG::Detection, fEfficiency, fNewMomentum, fNewPolarization, fOldMomentum, fOldPolarization, fPhotonMomentum, fStatus, and G4BooleanRand().
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
private |
Definition at line 633 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References fFacetNormal, fFinish, fGlobalNormal, fNewMomentum, fNewPolarization, fOldMomentum, fOldPolarization, fStatus, G4LambertianRand(), GetFacetNormal(), G4StationSimulatorOG::LambertianReflection, G4StationSimulatorOG::LobeReflection, G4StationSimulatorOG::SpikeReflection, and UnivRecNS::unit.
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
inlineprivate |
Definition at line 123 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), G4LambertianRand(), and PostStepDoIt().
|
private |
Definition at line 240 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
Referenced by G4LambertianRand().
|
private |
Definition at line 255 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References G4BooleanRand(), and G4IsotropicRand().
Referenced by DoReflection().
|
private |
Definition at line 274 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
|
private |
Definition at line 288 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References fModel, and fOpticalSurface.
Referenced by DielectricDielectric(), and DoReflection().
|
inlineoverridevirtual |
Definition at line 111 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
|
inlineoverridevirtual |
Definition at line 105 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
|
overridevirtual |
Definition at line 60 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.
References DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), fEfficiency, fFinish, fGlobalNormal, fMaterial1, fMaterial2, fModel, fNewMomentum, fNewPolarization, fOldMomentum, fOldPolarization, fOpticalSurface, fPhotonMomentum, fProb_bs, fProb_sl, fProb_ss, fReflectivity, fRIndex1, fRIndex2, fStatus, G4BooleanRand(), kCarTolerance, G4StationSimulatorOG::LambertianReflection, G4StationSimulatorOG::p, particle, utl::s, and G4StationSimulatorOG::Undefined.
|
inline |
Definition at line 120 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
References fModel.
|
private |
Definition at line 174 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DoAbsorption(), and PostStepDoIt().
|
private |
Definition at line 154 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), DielectricDielectric(), and DoReflection().
|
private |
Definition at line 171 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 153 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), DielectricDielectric(), DielectricMetal(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 156 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 157 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 170 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), GetFacetNormal(), PostStepDoIt(), and SetModel().
|
private |
Definition at line 150 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 151 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 147 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 148 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 159 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by GetFacetNormal(), and PostStepDoIt().
|
private |
Definition at line 145 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DoAbsorption(), and PostStepDoIt().
|
private |
Definition at line 177 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), and PostStepDoIt().
|
private |
Definition at line 175 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), and PostStepDoIt().
|
private |
Definition at line 176 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), and PostStepDoIt().
|
private |
Definition at line 173 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
private |
Definition at line 161 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 162 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 169 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by ChooseReflection(), DielectricDielectric(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 178 of file G4StationSimulator/G4TankOpBoundaryProcess.h.
Referenced by DielectricDielectric(), and PostStepDoIt().