ATLAS Offline Software
DetectorDescription
GeoModel
GeoModelUtilities
GeoModelUtilities
GeoOpticalSurface.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef GeoOpticalSurface_h
6
#define GeoOpticalSurface_h 1
7
9
#include "
GeoPrimitives/GeoPrimitives.h
"
10
11
12
#include "GeoModelKernel/RCBase.h"
13
#include "GeoModelKernel/GeoIntrusivePtr.h"
14
#include "
GeoModelUtilities/GeoMaterialPropertiesTable.h
"
15
#include <string>
16
17
18
class
GeoOpticalSurface
:
public
RCBase
19
{
20
public
:
21
// Enums ---------
22
enum
GeoSurfaceType
23
{
24
dielectric_metal
,
// dielectric-metal interface
25
dielectric_dielectric
,
// dielectric-dielectric interface
26
firsov
,
// for Firsov Process
27
x_ray
// for x-ray mirror process
28
};
29
30
enum
GeoOpticalSurfaceFinish
31
{
32
polished
,
// smooth perfectly polished surface
33
polishedfrontpainted
,
// smooth top-layer (front) paint
34
polishedbackpainted
,
// same is 'polished' but with a back-paint
35
ground
,
// rough surface
36
groundfrontpainted
,
// rough top-layer (front) paint
37
groundbackpainted
// same as 'ground' but with a back-paint
38
};
39
40
enum
GeoOpticalSurfaceModel
41
{
42
glisur
,
// original GEANT3 model
43
unified
// UNIFIED model
44
};
45
// Enums ---------
46
47
GeoOpticalSurface
(
const
std::string&
name
,
48
GeoOpticalSurfaceModel
model
=
glisur
,
49
GeoOpticalSurfaceFinish
finish =
polished
,
50
GeoSurfaceType
type
=
dielectric_dielectric
,
51
double
parameter = 1.0);
52
53
~GeoOpticalSurface
() =
default
;
54
55
// accessor methods
56
const
std::string&
GetName
()
const
{
return
m_name
;}
57
GeoSurfaceType
GetType
()
const
{
return
m_type
;};
58
GeoOpticalSurfaceFinish
GetFinish
()
const
{
return
m_finish
;};
59
GeoOpticalSurfaceModel
GetModel
()
const
{
return
m_model
;};
60
double
GetParameter
()
const
{
return
m_parameter
;}
61
62
void
SetMaterialPropertiesTable
(
GeoMaterialPropertiesTable
*mpt)
63
{
m_materialPropertiesTable
= mpt; };
64
65
GeoMaterialPropertiesTable
*
GetMaterialPropertiesTable
()
66
{
return
m_materialPropertiesTable
;};
67
const
GeoMaterialPropertiesTable
*
GetMaterialPropertiesTable
()
const
68
{
return
m_materialPropertiesTable
;};
69
70
private
:
71
std::string
m_name
;
72
GeoOpticalSurfaceModel
m_model
;
73
GeoOpticalSurfaceFinish
m_finish
;
74
GeoSurfaceType
m_type
;
75
double
m_parameter
;
76
GeoIntrusivePtr<GeoMaterialPropertiesTable>
m_materialPropertiesTable
{};
77
};
78
79
#endif
GeoOpticalSurface::x_ray
@ x_ray
Definition:
GeoOpticalSurface.h:27
GeoOpticalSurface::dielectric_metal
@ dielectric_metal
Definition:
GeoOpticalSurface.h:24
GeoOpticalSurface::polishedfrontpainted
@ polishedfrontpainted
Definition:
GeoOpticalSurface.h:33
GeoOpticalSurface::dielectric_dielectric
@ dielectric_dielectric
Definition:
GeoOpticalSurface.h:25
GeoOpticalSurface::SetMaterialPropertiesTable
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *mpt)
Definition:
GeoOpticalSurface.h:62
GeoOpticalSurface::ground
@ ground
Definition:
GeoOpticalSurface.h:35
GeoOpticalSurface::GeoOpticalSurfaceModel
GeoOpticalSurfaceModel
Definition:
GeoOpticalSurface.h:41
GeoOpticalSurface::GetType
GeoSurfaceType GetType() const
Definition:
GeoOpticalSurface.h:57
GeoOpticalSurface::m_finish
GeoOpticalSurfaceFinish m_finish
Definition:
GeoOpticalSurface.h:73
GeoOpticalSurface::GetFinish
GeoOpticalSurfaceFinish GetFinish() const
Definition:
GeoOpticalSurface.h:58
GeoOpticalSurface::firsov
@ firsov
Definition:
GeoOpticalSurface.h:26
GeoOpticalSurface::GetParameter
double GetParameter() const
Definition:
GeoOpticalSurface.h:60
GeoOpticalSurface::GeoSurfaceType
GeoSurfaceType
Definition:
GeoOpticalSurface.h:23
GeoPrimitives.h
GeoOpticalSurface::m_type
GeoSurfaceType m_type
Definition:
GeoOpticalSurface.h:74
GeoOpticalSurface::unified
@ unified
Definition:
GeoOpticalSurface.h:43
GeoOpticalSurface::GetMaterialPropertiesTable
const GeoMaterialPropertiesTable * GetMaterialPropertiesTable() const
Definition:
GeoOpticalSurface.h:67
GeoOpticalSurface::GeoOpticalSurfaceFinish
GeoOpticalSurfaceFinish
Definition:
GeoOpticalSurface.h:31
GeoOpticalSurface
Ensure that the extensions for the Vector3D are properly loaded.
Definition:
GeoOpticalSurface.h:19
GeoOpticalSurface::GetMaterialPropertiesTable
GeoMaterialPropertiesTable * GetMaterialPropertiesTable()
Definition:
GeoOpticalSurface.h:65
GeoOpticalSurface::glisur
@ glisur
Definition:
GeoOpticalSurface.h:42
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
GeoOpticalSurface::groundfrontpainted
@ groundfrontpainted
Definition:
GeoOpticalSurface.h:36
GeoOpticalSurface::polishedbackpainted
@ polishedbackpainted
Definition:
GeoOpticalSurface.h:34
GeoOpticalSurface::m_materialPropertiesTable
GeoIntrusivePtr< GeoMaterialPropertiesTable > m_materialPropertiesTable
Definition:
GeoOpticalSurface.h:76
GeoMaterialPropertiesTable.h
GeoOpticalSurface::m_name
std::string m_name
Definition:
GeoOpticalSurface.h:68
GeoOpticalSurface::m_model
GeoOpticalSurfaceModel m_model
Definition:
GeoOpticalSurface.h:72
correlationModel::model
model
Definition:
AsgElectronEfficiencyCorrectionTool.cxx:46
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
GeoOpticalSurface::GetName
const std::string & GetName() const
Definition:
GeoOpticalSurface.h:56
GeoOpticalSurface::m_parameter
double m_parameter
Definition:
GeoOpticalSurface.h:75
GeoMaterialPropertiesTable
Definition:
GeoMaterialPropertiesTable.h:20
GeoOpticalSurface::GeoOpticalSurface
GeoOpticalSurface(const std::string &name, GeoOpticalSurfaceModel model=glisur, GeoOpticalSurfaceFinish finish=polished, GeoSurfaceType type=dielectric_dielectric, double parameter=1.0)
Definition:
GeoOpticalSurface.cxx:7
GeoOpticalSurface::polished
@ polished
Definition:
GeoOpticalSurface.h:32
GeoOpticalSurface::GetModel
GeoOpticalSurfaceModel GetModel() const
Definition:
GeoOpticalSurface.h:59
GeoOpticalSurface::~GeoOpticalSurface
~GeoOpticalSurface()=default
GeoOpticalSurface::groundbackpainted
@ groundbackpainted
Definition:
GeoOpticalSurface.h:37
Generated on Sun Dec 22 2024 21:10:50 for ATLAS Offline Software by
1.8.18