ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
11
12#include "GeoModelKernel/RCBase.h"
13#include "GeoModelKernel/GeoIntrusivePtr.h"
15#include <string>
16
17
18class GeoOpticalSurface : public RCBase
19{
20 public:
21 // Enums ---------
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
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
41 {
42 glisur, // original GEANT3 model
43 unified // UNIFIED model
44 };
45 // Enums ---------
46
47 GeoOpticalSurface(const std::string& name,
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;};
60 double GetParameter() const {return m_parameter;}
61
64
69
70 private:
71 std::string m_name;
76 GeoIntrusivePtr<GeoMaterialPropertiesTable> m_materialPropertiesTable{};
77};
78
79#endif
GeoSurfaceType m_type
GeoOpticalSurfaceFinish GetFinish() const
GeoSurfaceType GetType() const
GeoOpticalSurfaceFinish m_finish
GeoOpticalSurfaceModel m_model
GeoOpticalSurface(const std::string &name, GeoOpticalSurfaceModel model=glisur, GeoOpticalSurfaceFinish finish=polished, GeoSurfaceType type=dielectric_dielectric, double parameter=1.0)
~GeoOpticalSurface()=default
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *mpt)
const std::string & GetName() const
GeoMaterialPropertiesTable * GetMaterialPropertiesTable()
GeoIntrusivePtr< GeoMaterialPropertiesTable > m_materialPropertiesTable
GeoOpticalSurfaceModel GetModel() const
double GetParameter() const
const GeoMaterialPropertiesTable * GetMaterialPropertiesTable() const