OMSim
Geant4 for IceCube optical module studies
G4OpBoundaryProcess Class Reference
Inheritance diagram for G4OpBoundaryProcess:
[legend]
Collaboration diagram for G4OpBoundaryProcess:
[legend]

Public Member Functions

 G4OpBoundaryProcess (const G4String &processName="OpBoundary", G4ProcessType type=fOptical)
 
virtual G4bool IsApplicable (const G4ParticleDefinition &aParticleType) override
 
virtual G4double GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *condition) override
 
G4VParticleChange * PostStepDoIt (const G4Track &aTrack, const G4Step &aStep) override
 
virtual G4OpBoundaryProcessStatus GetStatus () const
 
virtual void SetInvokeSD (G4bool)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &) override
 
virtual void Initialise ()
 
void SetVerboseLevel (G4int)
 

Private Member Functions

 G4OpBoundaryProcess (const G4OpBoundaryProcess &right)=delete
 
G4OpBoundaryProcessoperator= (const G4OpBoundaryProcess &right)=delete
 
G4bool G4BooleanRand (const G4double prob) const
 
G4ThreeVector GetFacetNormal (const G4ThreeVector &Momentum, const G4ThreeVector &Normal) const
 
void DielectricMetal ()
 
void DielectricDielectric ()
 
void DielectricLUT ()
 
void DielectricLUTDAVIS ()
 
void DielectricDichroic ()
 
void PhotocathodeCoatedComplex (const G4Track *pTrack)
 
void ChooseReflection ()
 
void DoAbsorption ()
 
void DoReflection ()
 
G4double GetIncidentAngle ()
 
G4double GetReflectivity (G4double E1_perp, G4double E1_parl, G4double incidentangle, G4double RealRindex, G4double ImaginaryRindex)
 
FresnelCoefficients ThreeLayerSystem (FresnelCoefficients pCoefficientsL1, FresnelCoefficients pCoefficientsL2, G4complex pFactor)
 
G4OpBoundaryProcessStatus getStatus (OpticalLayerResult pResults)
 
OpticalLayerResult CalculateThinLayerCoefficientsComplex (G4double sinTL, G4double wavelength, G4complex cost1, G4complex cost2, G4Track pTrack)
 
FresnelCoefficients CalculateFresnelCoefficientsComplex (G4complex pComplexRindex1, G4complex pComplexRindex2, G4complex pCost1, G4complex pCost2)
 
OpticalLayerResult Fresnel2ProbabilityComplex (FresnelCoefficients pCoefficients, G4double pRindex1, G4double pRindex2, G4double pImagRIndex1, G4double pImagRIndex2, G4complex pCost1, G4complex pCost2)
 
void CalculateReflectivity ()
 
void BoundaryProcessVerbose () const
 
G4bool InvokeSD (const G4Step *step)
 

Private Attributes

G4Mutex boundaryProcessMutex
 
G4ThreeVector fOldMomentum
 
G4ThreeVector fOldPolarization
 
G4ThreeVector fNewMomentum
 
G4ThreeVector fNewPolarization
 
G4ThreeVector fGlobalNormal
 
G4ThreeVector fFacetNormal
 
const G4Material * fMaterial1
 
const G4Material * fMaterial2
 
G4OpticalSurface * fOpticalSurface
 
G4MaterialPropertyVector * fRealRIndexMPV
 
G4MaterialPropertyVector * fImagRIndexMPV
 
G4Physics2DVector * fDichroicVector
 
G4double fPhotonMomentum
 
G4double fRindex1
 
G4double fRindex2
 
G4double fAbsorptionLength1
 
G4double fAbsorptionLength2
 
G4double sint1
 
G4double fReflectivity
 
G4double fEfficiency
 
G4double fTransmittance
 
G4double fSurfaceRoughness
 
G4double fProb_sl
 
G4double fProb_ss
 
G4double fProb_bs
 
G4double fCarTolerance
 
G4double fCoatedRindex
 
G4double fCoatedThickness
 
G4OpBoundaryProcessStatus fStatus
 
G4OpticalSurfaceModel fModel
 
G4OpticalSurfaceFinish fFinish
 
G4int f_iTE
 
G4int f_iTM
 
G4int fNumWarnings
 
size_t idx_dichroicX = 0
 
size_t idx_dichroicY = 0
 
size_t idx_rindex1 = 0
 
size_t idx_rindex_surface = 0
 
size_t idx_reflect = 0
 
size_t idx_eff = 0
 
size_t idx_trans = 0
 
size_t idx_lobe = 0
 
size_t idx_spike = 0
 
size_t idx_back = 0
 
size_t idx_rindex2 = 0
 
size_t idx_groupvel = 0
 
size_t idx_rrindex = 0
 
size_t idx_irindex = 0
 
size_t idx_coatedrindex = 0
 
size_t idx_abslength1 = 0
 
size_t idx_abslength2 = 0
 
size_t idx_coatedimagindex = 0
 
size_t idx_coatedabslength = 0
 
G4bool fInvokeSD
 

The documentation for this class was generated from the following files: