#include <FDsimG4OpBoundaryProcess.hh>
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 |
Definition at line 101 of file FDsimG4OpBoundaryProcess.hh.
FDsimG4OpBoundaryProcess::FDsimG4OpBoundaryProcess | ( | const G4String & | processName = "OpBoundary" , |
G4ProcessType | type = fOptical |
||
) |
Definition at line 91 of file FDsimG4OpBoundaryProcess.cc.
References kCarTolerance, prob_bs, prob_sl, prob_ss, theEfficiency, theFinish, theModel, theReflectivity, theStatus, and TelescopeSimulatorLX::Undefined.
FDsimG4OpBoundaryProcess::~FDsimG4OpBoundaryProcess | ( | ) |
Definition at line 122 of file FDsimG4OpBoundaryProcess.cc.
|
inlineprivate |
Definition at line 377 of file FDsimG4OpBoundaryProcess.hh.
References TelescopeSimulatorLX::BackScattering, TelescopeSimulatorLX::LambertianReflection, TelescopeSimulatorLX::LobeReflection, prob_bs, prob_sl, prob_ss, TelescopeSimulatorLX::SpikeReflection, theFacetNormal, theGlobalNormal, and theStatus.
Referenced by DielectricDielectric(), and DielectricMetal().
|
private |
Definition at line 670 of file FDsimG4OpBoundaryProcess.cc.
References utl::abs(), TelescopeSimulatorLX::BackScattering, ChooseReflection(), cost1, cost2, DoAbsorption(), DoReflection(), TelescopeSimulatorLX::FresnelReflection, TelescopeSimulatorLX::FresnelRefraction, G4BooleanRand(), G4Swap(), GetFacetNormal(), kCarTolerance, TelescopeSimulatorLX::LambertianReflection, Material1, Material2, NewMomentum, NewPolarization, OldMomentum, OldPolarization, Rindex1, Rindex2, sint1, sint2, sqrt(), theFacetNormal, theFinish, theGlobalNormal, theModel, theReflectivity, theStatus, and TelescopeSimulatorLX::TotalInternalReflection.
Referenced by PostStepDoIt().
|
private |
Definition at line 598 of file FDsimG4OpBoundaryProcess.cc.
References TelescopeSimulatorLX::BackScattering, ChooseReflection(), DoAbsorption(), DoReflection(), G4BooleanRand(), GetFacetNormal(), iTE, iTM, TelescopeSimulatorLX::LambertianReflection, TelescopeSimulatorLX::LobeReflection, NewMomentum, NewPolarization, OldMomentum, OldPolarization, sint1, theFacetNormal, theFinish, theGlobalNormal, theModel, theReflectivity, and theStatus.
Referenced by PostStepDoIt().
|
inlineprivate |
Definition at line 398 of file FDsimG4OpBoundaryProcess.hh.
References TelescopeSimulatorLX::Absorption, TelescopeSimulatorLX::Detection, G4BooleanRand(), NewMomentum, NewPolarization, OldMomentum, OldPolarization, theEfficiency, thePhotonMomentum, and theStatus.
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
inlineprivate |
Definition at line 420 of file FDsimG4OpBoundaryProcess.hh.
References G4LambertianRand(), GetFacetNormal(), TelescopeSimulatorLX::LambertianReflection, TelescopeSimulatorLX::LobeReflection, NewMomentum, NewPolarization, OldMomentum, OldPolarization, TelescopeSimulatorLX::SpikeReflection, theFacetNormal, theFinish, theGlobalNormal, theStatus, and UnivRecNS::unit.
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
inlineprivate |
Definition at line 282 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), G4LambertianRand(), and PostStepDoIt().
|
inlineprivate |
Definition at line 290 of file FDsimG4OpBoundaryProcess.hh.
Referenced by G4LambertianRand().
|
inlineprivate |
Definition at line 312 of file FDsimG4OpBoundaryProcess.hh.
References G4BooleanRand(), and G4IsotropicRand().
Referenced by DoReflection().
|
inlineprivate |
Definition at line 335 of file FDsimG4OpBoundaryProcess.hh.
|
inlineprivate |
Definition at line 243 of file FDsimG4OpBoundaryProcess.hh.
References RdGeoCeLDFFitter::a, and RdGeoCeLDFFitter::b.
Referenced by DielectricDielectric().
|
inlineprivate |
Definition at line 256 of file FDsimG4OpBoundaryProcess.hh.
References RdGeoCeLDFFitter::a, and RdGeoCeLDFFitter::b.
|
inlineprivate |
Definition at line 268 of file FDsimG4OpBoundaryProcess.hh.
|
private |
Definition at line 528 of file FDsimG4OpBoundaryProcess.cc.
References OpticalSurface, and theModel.
Referenced by DielectricDielectric(), DielectricMetal(), DoReflection(), and PostStepDoIt().
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.
|
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 | ||
) |
Definition at line 993 of file FDsimG4OpBoundaryProcess.cc.
References TelescopeSimulatorLX::ThinFilm::GetReflectance(), and thePhotonMomentum.
Referenced by PostStepDoIt().
|
inline |
Definition at line 365 of file FDsimG4OpBoundaryProcess.hh.
References theStatus.
Referenced by TelescopeSimulatorLX::FDsimG4PMT_SD::ProcessHits().
|
inline |
Definition at line 352 of file FDsimG4OpBoundaryProcess.hh.
G4VParticleChange * FDsimG4OpBoundaryProcess::PostStepDoIt | ( | const G4Track & | aTrack, |
const G4Step & | aStep | ||
) |
Definition at line 132 of file FDsimG4OpBoundaryProcess.cc.
References utl::abs(), TelescopeSimulatorLX::Absorption, TelescopeSimulatorLX::BackScattering, cost1, TelescopeSimulatorLX::Detection, DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), TelescopeSimulatorLX::FresnelReflection, TelescopeSimulatorLX::FresnelRefraction, G4BooleanRand(), GetFacetNormal(), GetIncidentAngle(), GetReflectivity(), GetReflectivityThinFilm(), iTE, iTM, kCarTolerance, TelescopeSimulatorLX::LambertianReflection, TelescopeSimulatorLX::LobeReflection, Material1, Material2, NewMomentum, NewPolarization, TelescopeSimulatorLX::NoRINDEX, TelescopeSimulatorLX::NotAtBoundary, OldMomentum, OldPolarization, OpticalSurface, prob_bs, prob_sl, prob_ss, Rindex1, Rindex2, TelescopeSimulatorLX::SameMaterial, sint1, TelescopeSimulatorLX::SpikeReflection, sqrt(), TelescopeSimulatorLX::StepTooSmall, theEfficiency, theFacetNormal, theFinish, theGlobalNormal, theModel, thePhotonMomentum, theReflectivity, theStatus, TelescopeSimulatorLX::TotalInternalReflection, and TelescopeSimulatorLX::Undefined.
|
inline |
Definition at line 371 of file FDsimG4OpBoundaryProcess.hh.
References theModel.
Referenced by TelescopeSimulatorLX::FDsimG4PhysicsList::ConstructOp().
|
private |
Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric().
|
private |
Definition at line 233 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricMetal(), GetReflectivity(), and PostStepDoIt().
|
private |
Definition at line 233 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricMetal(), GetReflectivity(), and PostStepDoIt().
|
private |
Definition at line 235 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 213 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 214 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 207 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 208 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 204 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), GetIncidentAngle(), and PostStepDoIt().
|
private |
Definition at line 205 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 216 of file FDsimG4OpBoundaryProcess.hh.
Referenced by GetFacetNormal(), and PostStepDoIt().
|
private |
Definition at line 231 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 231 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 231 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 218 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 219 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), and PostStepDoIt().
|
private |
Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), and PostStepDoIt().
|
private |
Definition at line 221 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric().
|
private |
Definition at line 230 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DoAbsorption(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 211 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), DielectricDielectric(), DielectricMetal(), DoReflection(), GetIncidentAngle(), and PostStepDoIt().
|
private |
Definition at line 227 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), DoReflection(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 210 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), DielectricDielectric(), DielectricMetal(), DoReflection(), and PostStepDoIt().
|
private |
Definition at line 225 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), FDsimG4OpBoundaryProcess(), GetFacetNormal(), GetModel(), PostStepDoIt(), and SetModel().
|
private |
Definition at line 202 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DoAbsorption(), GetReflectivityThinFilm(), and PostStepDoIt().
|
private |
Definition at line 229 of file FDsimG4OpBoundaryProcess.hh.
Referenced by DielectricDielectric(), DielectricMetal(), FDsimG4OpBoundaryProcess(), and PostStepDoIt().
|
private |
Definition at line 223 of file FDsimG4OpBoundaryProcess.hh.
Referenced by ChooseReflection(), DielectricDielectric(), DielectricMetal(), DoAbsorption(), DoReflection(), FDsimG4OpBoundaryProcess(), GetStatus(), and PostStepDoIt().