List of all members | Public Member Functions | Private Member Functions | Private Attributes
TelescopeSimulatorLX::FDsimG4OpBoundaryProcess Class Reference

#include <FDsimG4OpBoundaryProcess.hh>

Inheritance diagram for TelescopeSimulatorLX::FDsimG4OpBoundaryProcess:
Inheritance graph
[legend]

Public Member Functions

 FDsimG4OpBoundaryProcess (const G4String &processName="OpBoundary", G4ProcessType type=fOptical)
 
G4double GetIncidentAngle ()
 
G4double GetMeanFreePath (const G4Track &, G4double, G4ForceCondition *condition)
 
G4OpticalSurfaceModel GetModel () const
 
G4double GetReflectivity (G4double E1_perp, G4double E1_parl, G4double incidentangle, G4double RealRindex, G4double ImaginaryRindex)
 
G4double GetReflectivityThinFilm (G4double incidentangle, G4double n1, G4complex n2, G4double n3, G4double thickness)
 
FDsimG4OpBoundaryProcessStatus GetStatus () const
 
G4bool IsApplicable (const G4ParticleDefinition &aParticleType)
 
G4VParticleChange * PostStepDoIt (const G4Track &aTrack, const G4Step &aStep)
 
void SetModel (G4OpticalSurfaceModel model)
 
 ~FDsimG4OpBoundaryProcess ()
 

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)
 
G4ThreeVector G4PlaneVectorRand (const G4ThreeVector &normal) const
 
void G4Swap (G4double *a, G4double *b) const
 
void G4Swap (G4Material *a, G4Material *b) const
 
void G4VectorSwap (G4ThreeVector *vec1, G4ThreeVector *vec2) const
 
G4ThreeVector GetFacetNormal (const G4ThreeVector &Momentum, const G4ThreeVector &Normal) const
 

Private Attributes

G4double cost1
 
G4double cost2
 
G4int iTE
 
G4int iTM
 
G4double kCarTolerance
 
G4Material * Material1
 
G4Material * Material2
 
G4ThreeVector NewMomentum
 
G4ThreeVector NewPolarization
 
G4ThreeVector OldMomentum
 
G4ThreeVector OldPolarization
 
G4OpticalSurface * OpticalSurface
 
G4double prob_bs
 
G4double prob_sl
 
G4double prob_ss
 
G4double Rindex1
 
G4double Rindex2
 
G4double sint1
 
G4double sint2
 
G4double theEfficiency
 
G4ThreeVector theFacetNormal
 
G4OpticalSurfaceFinish theFinish
 
G4ThreeVector theGlobalNormal
 
G4OpticalSurfaceModel theModel
 
G4double thePhotonMomentum
 
G4double theReflectivity
 
FDsimG4OpBoundaryProcessStatus theStatus
 

Detailed Description

Definition at line 101 of file FDsimG4OpBoundaryProcess.hh.

Constructor & Destructor Documentation

FDsimG4OpBoundaryProcess::FDsimG4OpBoundaryProcess ( const G4String &  processName = "OpBoundary",
G4ProcessType  type = fOptical 
)
FDsimG4OpBoundaryProcess::~FDsimG4OpBoundaryProcess ( )

Definition at line 122 of file FDsimG4OpBoundaryProcess.cc.

Member Function Documentation

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

Definition at line 290 of file FDsimG4OpBoundaryProcess.hh.

Referenced by G4LambertianRand().

G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::G4LambertianRand ( const G4ThreeVector &  normal)
inlineprivate

Definition at line 312 of file FDsimG4OpBoundaryProcess.hh.

References G4BooleanRand(), and G4IsotropicRand().

Referenced by DoReflection().

G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::G4PlaneVectorRand ( const G4ThreeVector &  normal) const
inlineprivate

Definition at line 335 of file FDsimG4OpBoundaryProcess.hh.

void TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::G4Swap ( G4double *  a,
G4double *  b 
) const
inlineprivate

Definition at line 243 of file FDsimG4OpBoundaryProcess.hh.

References RdGeoCeLDFFitter::a, and RdGeoCeLDFFitter::b.

Referenced by DielectricDielectric().

void TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::G4Swap ( G4Material *  a,
G4Material *  b 
) const
inlineprivate

Definition at line 256 of file FDsimG4OpBoundaryProcess.hh.

References RdGeoCeLDFFitter::a, and RdGeoCeLDFFitter::b.

void TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::G4VectorSwap ( G4ThreeVector *  vec1,
G4ThreeVector *  vec2 
) const
inlineprivate

Definition at line 268 of file FDsimG4OpBoundaryProcess.hh.

G4ThreeVector FDsimG4OpBoundaryProcess::GetFacetNormal ( const G4ThreeVector &  Momentum,
const G4ThreeVector &  Normal 
) const
private
G4double FDsimG4OpBoundaryProcess::GetIncidentAngle ( )

Definition at line 922 of file FDsimG4OpBoundaryProcess.cc.

References OldMomentum, and theFacetNormal.

Referenced by PostStepDoIt().

G4double FDsimG4OpBoundaryProcess::GetMeanFreePath ( const G4Track &  ,
G4double  ,
G4ForceCondition *  condition 
)

Definition at line 913 of file FDsimG4OpBoundaryProcess.cc.

G4OpticalSurfaceModel TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::GetModel ( ) const
inline

Definition at line 359 of file FDsimG4OpBoundaryProcess.hh.

References theModel.

G4double FDsimG4OpBoundaryProcess::GetReflectivity ( G4double  E1_perp,
G4double  E1_parl,
G4double  incidentangle,
G4double  RealRindex,
G4double  ImaginaryRindex 
)

Definition at line 932 of file FDsimG4OpBoundaryProcess.cc.

References iTE, iTM, and sqrt().

Referenced by PostStepDoIt().

G4double FDsimG4OpBoundaryProcess::GetReflectivityThinFilm ( G4double  incidentangle,
G4double  n1,
G4complex  n2,
G4double  n3,
G4double  thickness 
)
FDsimG4OpBoundaryProcessStatus TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::GetStatus ( ) const
inline

Definition at line 365 of file FDsimG4OpBoundaryProcess.hh.

References theStatus.

Referenced by TelescopeSimulatorLX::FDsimG4PMT_SD::ProcessHits().

G4bool TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::IsApplicable ( const G4ParticleDefinition &  aParticleType)
inline

Definition at line 352 of file FDsimG4OpBoundaryProcess.hh.

G4VParticleChange * FDsimG4OpBoundaryProcess::PostStepDoIt ( const G4Track &  aTrack,
const G4Step &  aStep 
)
void TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::SetModel ( G4OpticalSurfaceModel  model)
inline

Member Data Documentation

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::cost1
private

Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric(), and PostStepDoIt().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::cost2
private

Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric().

G4int TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::iTE
private

Definition at line 233 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricMetal(), GetReflectivity(), and PostStepDoIt().

G4int TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::iTM
private

Definition at line 233 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricMetal(), GetReflectivity(), and PostStepDoIt().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::kCarTolerance
private
G4Material* TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::Material1
private

Definition at line 213 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric(), and PostStepDoIt().

G4Material* TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::Material2
private

Definition at line 214 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric(), and PostStepDoIt().

G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::NewMomentum
private
G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::NewPolarization
private
G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::OldMomentum
private
G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::OldPolarization
private
G4OpticalSurface* TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::OpticalSurface
private

Definition at line 216 of file FDsimG4OpBoundaryProcess.hh.

Referenced by GetFacetNormal(), and PostStepDoIt().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::prob_bs
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::prob_sl
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::prob_ss
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::Rindex1
private

Definition at line 218 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric(), and PostStepDoIt().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::Rindex2
private

Definition at line 219 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric(), and PostStepDoIt().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::sint1
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::sint2
private

Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.

Referenced by DielectricDielectric().

G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theEfficiency
private
G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theFacetNormal
private
G4OpticalSurfaceFinish TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theFinish
private
G4ThreeVector TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theGlobalNormal
private
G4OpticalSurfaceModel TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theModel
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::thePhotonMomentum
private
G4double TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theReflectivity
private
FDsimG4OpBoundaryProcessStatus TelescopeSimulatorLX::FDsimG4OpBoundaryProcess::theStatus
private

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

, generated on Tue Sep 26 2023.