List of all members | Public Member Functions | Private Member Functions | Private Attributes
G4StationSimulatorOG::G4TankOpBoundaryProcess Class Reference

#include <G4TankOpBoundaryProcess.h>

Inheritance diagram for G4StationSimulatorOG::G4TankOpBoundaryProcess:
Inheritance graph
[legend]

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
 

Detailed Description

Definition at line 95 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Constructor & Destructor Documentation

G4StationSimulatorOG::G4TankOpBoundaryProcess::G4TankOpBoundaryProcess ( const G4String &  processName = "OpBoundary",
const G4ProcessType  type = fOptical 
)
virtual G4StationSimulatorOG::G4TankOpBoundaryProcess::~G4TankOpBoundaryProcess ( )
inlinevirtual

Member Function Documentation

void G4StationSimulatorOG::G4TankOpBoundaryProcess::ChooseReflection ( )
private
void G4StationSimulatorOG::G4TankOpBoundaryProcess::DielectricDielectric ( )
private
void G4StationSimulatorOG::G4TankOpBoundaryProcess::DielectricMetal ( )
private
void G4StationSimulatorOG::G4TankOpBoundaryProcess::DoAbsorption ( )
private
void G4StationSimulatorOG::G4TankOpBoundaryProcess::DoReflection ( )
private
G4bool G4StationSimulatorOG::G4TankOpBoundaryProcess::G4BooleanRand ( const G4double  prob) const
inlineprivate
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::G4IsotropicRand ( ) const
private

Definition at line 240 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.

Referenced by G4LambertianRand().

G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::G4LambertianRand ( const G4ThreeVector &  normal) const
private

Definition at line 255 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.

References G4BooleanRand(), and G4IsotropicRand().

Referenced by DoReflection().

G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::G4PlaneVectorRand ( const G4ThreeVector &  normal) const
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::GetFacetNormal ( const G4ThreeVector &  momentum,
const G4ThreeVector &  normal 
) const
private

Definition at line 288 of file G4StationSimulator/G4TankOpBoundaryProcess.cc.

References fModel, and fOpticalSurface.

Referenced by DielectricDielectric(), and DoReflection().

virtual G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::GetMeanFreePath ( const G4Track &  ,
const G4double  ,
G4ForceCondition *const  condition 
)
inlineoverridevirtual
virtual G4bool G4StationSimulatorOG::G4TankOpBoundaryProcess::IsApplicable ( const G4ParticleDefinition &  particleType)
inlineoverridevirtual
G4VParticleChange * G4StationSimulatorOG::G4TankOpBoundaryProcess::PostStepDoIt ( const G4Track &  track,
const G4Step &  step 
)
overridevirtual
void G4StationSimulatorOG::G4TankOpBoundaryProcess::SetModel ( const G4OpticalSurfaceModel  model)
inline

Definition at line 120 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

References fModel.

Member Data Documentation

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fEfficiency = 0
private

Definition at line 174 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by DoAbsorption(), and PostStepDoIt().

G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fFacetNormal
private
G4OpticalSurfaceFinish G4StationSimulatorOG::G4TankOpBoundaryProcess::fFinish = polished
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fGlobalNormal
private
G4Material* G4StationSimulatorOG::G4TankOpBoundaryProcess::fMaterial1 = nullptr
private
G4Material* G4StationSimulatorOG::G4TankOpBoundaryProcess::fMaterial2 = nullptr
private
G4OpticalSurfaceModel G4StationSimulatorOG::G4TankOpBoundaryProcess::fModel = glisur
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fNewMomentum
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fNewPolarization
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fOldMomentum
private
G4ThreeVector G4StationSimulatorOG::G4TankOpBoundaryProcess::fOldPolarization
private
G4OpticalSurface* G4StationSimulatorOG::G4TankOpBoundaryProcess::fOpticalSurface = nullptr
private

Definition at line 159 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by GetFacetNormal(), and PostStepDoIt().

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fPhotonMomentum = 0
private

Definition at line 145 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by DoAbsorption(), and PostStepDoIt().

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fProb_bs = 0
private

Definition at line 177 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by ChooseReflection(), and PostStepDoIt().

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fProb_sl = 0
private

Definition at line 175 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by ChooseReflection(), and PostStepDoIt().

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fProb_ss = 0
private

Definition at line 176 of file G4StationSimulator/G4TankOpBoundaryProcess.h.

Referenced by ChooseReflection(), and PostStepDoIt().

G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fReflectivity = 0
private
G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fRIndex1 = 0
private
G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::fRIndex2 = 0
private
G4TankOpBoundaryProcessStatus G4StationSimulatorOG::G4TankOpBoundaryProcess::fStatus = Undefined
private
G4double G4StationSimulatorOG::G4TankOpBoundaryProcess::kCarTolerance = 0
private

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

, generated on Tue Sep 26 2023.