ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4OpticalSurface Class Reference

#include <geant4/tree/geant4-10.6-release/source/materials/include/G4OpticalSurface.hh>

+ Inheritance diagram for G4OpticalSurface:
+ Collaboration diagram for G4OpticalSurface:

Public Member Functions

 G4OpticalSurface (const G4OpticalSurface &right)
 
G4OpticalSurfaceoperator= (const G4OpticalSurface &right)
 
G4bool operator== (const G4OpticalSurface &right) const
 
G4bool operator!= (const G4OpticalSurface &right) const
 
 G4OpticalSurface (const G4String &name, G4OpticalSurfaceModel model=glisur, G4OpticalSurfaceFinish finish=polished, G4SurfaceType type=dielectric_dielectric, G4double value=1.0)
 
virtual ~G4OpticalSurface ()
 
void SetType (const G4SurfaceType &type)
 
G4OpticalSurfaceFinish GetFinish () const
 
void SetFinish (const G4OpticalSurfaceFinish)
 
G4OpticalSurfaceModel GetModel () const
 
void SetModel (const G4OpticalSurfaceModel model)
 
G4double GetSigmaAlpha () const
 
void SetSigmaAlpha (const G4double s_a)
 
G4double GetPolish () const
 
void SetPolish (const G4double plsh)
 
G4MaterialPropertiesTableGetMaterialPropertiesTable () const
 
void SetMaterialPropertiesTable (G4MaterialPropertiesTable *anMPT)
 
void DumpInfo () const
 
void ReadLUTFile (void)
 
G4double GetAngularDistributionValue (G4int, G4int, G4int)
 
G4double GetAngularDistributionValueLUT (G4int)
 
void ReadLUTDAVISFile (void)
 
void ReadReflectivityLUTFile (void)
 
G4double GetReflectivityLUTValue (G4int)
 
G4int GetInmax (void) const
 
G4int GetLUTbins (void) const
 
G4int GetRefMax (void) const
 
G4int GetThetaIndexMax (void) const
 
G4int GetPhiIndexMax (void) const
 
void ReadDichroicFile (void)
 
G4Physics2DVectorGetDichroicVector ()
 
- Public Member Functions inherited from G4SurfaceProperty
 G4SurfaceProperty (const G4String &name, G4SurfaceType type=x_ray)
 
 G4SurfaceProperty ()
 
virtual ~G4SurfaceProperty ()
 
const G4StringGetName () const
 
void SetName (const G4String &name)
 
const G4SurfaceTypeGetType () const
 
void SetType (const G4SurfaceType &type)
 

Private Attributes

G4OpticalSurfaceModel theModel
 
G4OpticalSurfaceFinish theFinish
 
G4double sigma_alpha
 
G4double polish
 
G4MaterialPropertiesTabletheMaterialPropertiesTable
 
G4floatAngularDistribution
 
G4Physics2DVectorDichroicVector
 
G4floatAngularDistributionLUT
 
G4floatReflectivity
 

Static Private Attributes

static const G4int incidentIndexMax = 91
 
static const G4int thetaIndexMax = 45
 
static const G4int phiIndexMax = 37
 
static const G4int indexmax = 7280001
 
static const G4int RefMax = 90
 
static const G4int LUTbins =20000
 

Additional Inherited Members

- Static Public Member Functions inherited from G4SurfaceProperty
static void CleanSurfacePropertyTable ()
 
static const
G4SurfacePropertyTable
GetSurfacePropertyTable ()
 
static size_t GetNumberOfSurfaceProperties ()
 
static void DumpTableInfo ()
 
- Protected Attributes inherited from G4SurfaceProperty
G4String theName
 
G4SurfaceType theType
 
- Static Protected Attributes inherited from G4SurfaceProperty
static G4SurfacePropertyTable theSurfacePropertyTable
 

Detailed Description

Definition at line 127 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 127 of file G4OpticalSurface.hh

Constructor & Destructor Documentation

G4OpticalSurface::G4OpticalSurface ( const G4String name,
G4OpticalSurfaceModel  model = glisur,
G4OpticalSurfaceFinish  finish = polished,
G4SurfaceType  type = dielectric_dielectric,
G4double  value = 1.0 
)

Definition at line 92 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 92 of file G4OpticalSurface.cc

References AngularDistribution, AngularDistributionLUT, DAVIS, dichroic, DichroicVector, dielectric_dichroic, dielectric_LUT, dielectric_LUTDAVIS, FatalException, G4Exception(), glisur, incidentIndexMax, indexmax, LUT, phiIndexMax, polish, ReadDichroicFile(), ReadLUTDAVISFile(), ReadLUTFile(), ReadReflectivityLUTFile(), Reflectivity, RefMax, sigma_alpha, thetaIndexMax, and unified.

+ Here is the call graph for this function:

G4OpticalSurface::~G4OpticalSurface ( )
virtual

Definition at line 155 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 155 of file G4OpticalSurface.cc

References AngularDistribution, AngularDistributionLUT, DichroicVector, and Reflectivity.

Member Function Documentation

void G4OpticalSurface::DumpInfo ( ) const

Definition at line 232 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 232 of file G4OpticalSurface.cc

References G4cout, G4endl, glisur, LUT, polish, sigma_alpha, theFinish, theModel, and G4SurfaceProperty::theType.

Referenced by OpNoviceDetectorConstruction::Construct().

+ Here is the caller graph for this function:

G4double G4OpticalSurface::GetAngularDistributionValue ( G4int  angleIncident,
G4int  thetaIndex,
G4int  phiIndex 
)
inline

Definition at line 272 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 272 of file G4OpticalSurface.hh

References AngularDistribution, incidentIndexMax, and thetaIndexMax.

G4double G4OpticalSurface::GetAngularDistributionValueLUT ( G4int  i)
inline

Definition at line 282 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 282 of file G4OpticalSurface.hh

References AngularDistributionLUT.

Referenced by G4OpBoundaryProcess::DielectricLUTDAVIS().

+ Here is the caller graph for this function:

G4Physics2DVector * G4OpticalSurface::GetDichroicVector ( )
inline

Definition at line 294 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 294 of file G4OpticalSurface.hh

References DichroicVector.

Referenced by G4OpBoundaryProcess::DielectricDichroic().

+ Here is the caller graph for this function:

G4OpticalSurfaceFinish G4OpticalSurface::GetFinish ( ) const
inline

Definition at line 169 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 169 of file G4OpticalSurface.hh

References theFinish.

Referenced by DetectorConstruction::GetSurfaceFinish(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), G4GDMLWriteSolids::OpticalSurfaceWrite(), and G4OpBoundaryProcess::PostStepDoIt().

+ Here is the caller graph for this function:

G4int G4OpticalSurface::GetInmax ( void  ) const

Definition at line 207 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 207 of file G4OpticalSurface.cc

References indexmax.

G4int G4OpticalSurface::GetLUTbins ( void  ) const

Definition at line 212 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 212 of file G4OpticalSurface.cc

References LUTbins.

Referenced by G4OpBoundaryProcess::DielectricLUTDAVIS().

+ Here is the caller graph for this function:

G4MaterialPropertiesTable* G4OpticalSurface::GetMaterialPropertiesTable ( ) const
inline

Definition at line 190 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 190 of file G4OpticalSurface.hh

References theMaterialPropertiesTable.

Referenced by G4GDMLWriteSolids::OpticalSurfaceWrite(), G4OpBoundaryProcess::PostStepDoIt(), G4GDMLReadSolids::PropertyRead(), and G4GDMLWriteSolids::PropertyWrite().

+ Here is the caller graph for this function:

G4OpticalSurfaceModel G4OpticalSurface::GetModel ( ) const
inline

Definition at line 174 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 174 of file G4OpticalSurface.hh

References theModel.

Referenced by DetectorConstruction::GetSurfaceModel(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), G4GDMLWriteSolids::OpticalSurfaceWrite(), and G4OpBoundaryProcess::PostStepDoIt().

+ Here is the caller graph for this function:

G4int G4OpticalSurface::GetPhiIndexMax ( void  ) const

Definition at line 227 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 227 of file G4OpticalSurface.cc

References phiIndexMax.

Referenced by G4OpBoundaryProcess::DielectricLUT().

+ Here is the caller graph for this function:

G4double G4OpticalSurface::GetPolish ( ) const
inline

Definition at line 185 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 185 of file G4OpticalSurface.hh

References polish.

Referenced by G4OpBoundaryProcess::GetFacetNormal(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), G4GDMLWriteSolids::OpticalSurfaceWrite(), and DetectorConstruction::SetSurfacePolish().

+ Here is the caller graph for this function:

G4double G4OpticalSurface::GetReflectivityLUTValue ( G4int  i)
inline

Definition at line 288 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 288 of file G4OpticalSurface.hh

References Reflectivity.

Referenced by G4OpBoundaryProcess::DielectricLUTDAVIS().

+ Here is the caller graph for this function:

G4int G4OpticalSurface::GetRefMax ( void  ) const

Definition at line 217 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 217 of file G4OpticalSurface.cc

References RefMax.

G4double G4OpticalSurface::GetSigmaAlpha ( ) const
inline

Definition at line 180 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 180 of file G4OpticalSurface.hh

References sigma_alpha.

Referenced by G4OpBoundaryProcess::GetFacetNormal(), PHG4GDMLWriteSolids::OpticalSurfaceWrite(), G4GDMLWriteSolids::OpticalSurfaceWrite(), and DetectorConstruction::SetSurfaceSigmaAlpha().

+ Here is the caller graph for this function:

G4int G4OpticalSurface::GetThetaIndexMax ( void  ) const

Definition at line 222 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 222 of file G4OpticalSurface.cc

References thetaIndexMax.

Referenced by G4OpBoundaryProcess::DielectricLUT().

+ Here is the caller graph for this function:

G4bool G4OpticalSurface::operator!= ( const G4OpticalSurface right) const

Definition at line 199 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 199 of file G4OpticalSurface.cc

G4bool G4OpticalSurface::operator== ( const G4OpticalSurface right) const

Definition at line 194 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 194 of file G4OpticalSurface.cc

void G4OpticalSurface::ReadDichroicFile ( void  )

Definition at line 552 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 552 of file G4OpticalSurface.cc

References DichroicVector, FatalException, fin, G4cout, G4endl, G4Exception(), G4Physics2DVector::GetLengthX(), G4Physics2DVector::GetLengthY(), G4Physics2DVector::GetValue(), G4Physics2DVector::GetX(), G4Physics2DVector::GetY(), INT_MAX, and G4Physics2DVector::Retrieve().

Referenced by G4OpticalSurface(), SetFinish(), and SetType().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalSurface::ReadLUTDAVISFile ( void  )

Definition at line 412 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 412 of file G4OpticalSurface.cc

References AngularDistributionLUT, Detector_LUT, FatalException, G4cout, G4endl, G4Exception(), in, indexmax, Polished_LUT, PolishedESR_LUT, PolishedESRGrease_LUT, PolishedTeflon_LUT, Rough_LUT, RoughESR_LUT, RoughESRGrease_LUT, RoughTeflon_LUT, and theFinish.

Referenced by G4OpticalSurface(), SetFinish(), and SetType().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalSurface::ReadLUTFile ( void  )

Definition at line 303 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 303 of file G4OpticalSurface.cc

References AngularDistribution, etchedlumirrorair, etchedlumirrorglue, etchedteflonair, etchedtioair, etchedtyvekair, etchedvm2000air, etchedvm2000glue, FatalException, G4cout, G4endl, G4Exception(), groundlumirrorair, groundlumirrorglue, groundteflonair, groundtioair, groundtyvekair, groundvm2000air, groundvm2000glue, in, incidentIndexMax, phiIndexMax, polishedlumirrorair, polishedlumirrorglue, polishedteflonair, polishedtioair, polishedtyvekair, polishedvm2000air, polishedvm2000glue, theFinish, and thetaIndexMax.

Referenced by G4OpticalSurface(), SetFinish(), and SetType().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalSurface::ReadReflectivityLUTFile ( void  )

Definition at line 478 of file G4OpticalSurface.cc.

View newest version in sPHENIX GitHub at line 478 of file G4OpticalSurface.cc

References Detector_LUT, FatalException, G4cout, G4endl, G4Exception(), in, Polished_LUT, PolishedESR_LUT, PolishedESRGrease_LUT, PolishedTeflon_LUT, Reflectivity, RefMax, Rough_LUT, RoughESR_LUT, RoughESRGrease_LUT, RoughTeflon_LUT, and theFinish.

Referenced by G4OpticalSurface(), and SetFinish().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalSurface::SetPolish ( const G4double  plsh)
inline

Definition at line 187 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 187 of file G4OpticalSurface.hh

References polish.

Referenced by DetectorConstruction::SetSurfacePolish().

+ Here is the caller graph for this function:

void G4OpticalSurface::SetSigmaAlpha ( const G4double  s_a)
inline

Definition at line 182 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 182 of file G4OpticalSurface.hh

References sigma_alpha.

Referenced by DetectorConstruction::SetSurfaceSigmaAlpha().

+ Here is the caller graph for this function:

Member Data Documentation

G4float* G4OpticalSurface::AngularDistribution
private

Definition at line 256 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 256 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetAngularDistributionValue(), operator=(), ReadLUTFile(), SetFinish(), SetType(), and ~G4OpticalSurface().

G4float* G4OpticalSurface::AngularDistributionLUT
private

Definition at line 263 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 263 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetAngularDistributionValueLUT(), operator=(), ReadLUTDAVISFile(), SetFinish(), SetType(), and ~G4OpticalSurface().

G4Physics2DVector* G4OpticalSurface::DichroicVector
private

Definition at line 257 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 257 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetDichroicVector(), operator=(), ReadDichroicFile(), SetFinish(), SetType(), and ~G4OpticalSurface().

const G4int G4OpticalSurface::incidentIndexMax = 91
staticprivate

Definition at line 252 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 252 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetAngularDistributionValue(), operator=(), ReadLUTFile(), SetFinish(), and SetType().

const G4int G4OpticalSurface::indexmax = 7280001
staticprivate

Definition at line 260 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 260 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetInmax(), operator=(), ReadLUTDAVISFile(), SetFinish(), and SetType().

const G4int G4OpticalSurface::LUTbins =20000
staticprivate

Definition at line 262 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 262 of file G4OpticalSurface.hh

Referenced by GetLUTbins().

const G4int G4OpticalSurface::phiIndexMax = 37
staticprivate

Definition at line 254 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 254 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetPhiIndexMax(), operator=(), ReadLUTFile(), SetFinish(), and SetType().

G4double G4OpticalSurface::polish
private

Definition at line 248 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 248 of file G4OpticalSurface.hh

Referenced by DumpInfo(), G4OpticalSurface(), GetPolish(), operator=(), and SetPolish().

G4float* G4OpticalSurface::Reflectivity
private

Definition at line 264 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 264 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetReflectivityLUTValue(), operator=(), ReadReflectivityLUTFile(), SetFinish(), and ~G4OpticalSurface().

const G4int G4OpticalSurface::RefMax = 90
staticprivate

Definition at line 261 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 261 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetRefMax(), operator=(), ReadReflectivityLUTFile(), and SetFinish().

G4double G4OpticalSurface::sigma_alpha
private

Definition at line 247 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 247 of file G4OpticalSurface.hh

Referenced by DumpInfo(), G4OpticalSurface(), GetSigmaAlpha(), operator=(), and SetSigmaAlpha().

G4OpticalSurfaceFinish G4OpticalSurface::theFinish
private

Definition at line 245 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 245 of file G4OpticalSurface.hh

Referenced by DumpInfo(), G4OpticalSurface(), GetFinish(), operator=(), ReadLUTDAVISFile(), ReadLUTFile(), ReadReflectivityLUTFile(), and SetFinish().

G4MaterialPropertiesTable* G4OpticalSurface::theMaterialPropertiesTable
private

Definition at line 250 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 250 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetMaterialPropertiesTable(), operator=(), and SetMaterialPropertiesTable().

G4OpticalSurfaceModel G4OpticalSurface::theModel
private

Definition at line 244 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 244 of file G4OpticalSurface.hh

Referenced by DumpInfo(), G4OpticalSurface(), GetModel(), operator=(), and SetModel().

const G4int G4OpticalSurface::thetaIndexMax = 45
staticprivate

Definition at line 253 of file G4OpticalSurface.hh.

View newest version in sPHENIX GitHub at line 253 of file G4OpticalSurface.hh

Referenced by G4OpticalSurface(), GetAngularDistributionValue(), GetThetaIndexMax(), operator=(), ReadLUTFile(), SetFinish(), and SetType().


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