ATLAS Offline Software
DetectorDescription
GeoModel
GeoModelUtilities
GeoModelUtilities
GeoExtendedMaterial.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 GeoExtendedMaterial_h
6
#define GeoExtendedMaterial_h 1
7
9
#include "
GeoPrimitives/GeoPrimitives.h
"
10
11
#include "GeoModelKernel/GeoMaterial.h"
12
#include "GeoModelKernel/GeoIntrusivePtr.h"
13
#include "
GeoModelUtilities/GeoMaterialPropertiesTable.h
"
14
15
// Physical constants
16
#ifdef BUILDVP1LIGHT
17
#include "GeoModelKernel/Units.h"
18
#define SYSTEM_OF_UNITS GeoModelKernelUnits // --> 'GeoModelKernelUnits::STP_Temperature'
19
#else
20
#include "GaudiKernel/PhysicalConstants.h"
21
#define SYSTEM_OF_UNITS Gaudi::Units // --> 'Gaudi::Units::STP_Temperature'
22
#endif
23
24
25
enum
GeoMaterialState
{
stateUndefined
,
stateSolid
,
stateLiquid
,
stateGas
};
26
27
class
GeoExtendedMaterial
:
public
GeoMaterial
28
{
29
public
:
30
GeoExtendedMaterial
(
const
std::string &
Name
,
31
double
Density,
32
GeoMaterialState
State
=
stateUndefined
,
33
double
Temperature =
SYSTEM_OF_UNITS::STP_Temperature
,
34
double
Pressure =
SYSTEM_OF_UNITS::STP_Pressure
);
35
36
virtual
~GeoExtendedMaterial
() =
default
;
37
38
const
GeoMaterialState
&
getState
()
const
;
39
const
double
&
getTemperature
()
const
;
40
const
double
&
getPressure
()
const
;
41
42
void
SetMaterialPropertiesTable
(
GeoMaterialPropertiesTable
* MPT);
43
GeoMaterialPropertiesTable
*
GetMaterialPropertiesTable
();
44
const
GeoMaterialPropertiesTable
*
GetMaterialPropertiesTable
()
const
;
45
46
private
:
47
GeoExtendedMaterial
(
const
GeoExtendedMaterial
&right);
48
GeoExtendedMaterial
&
operator=
(
const
GeoExtendedMaterial
&right);
49
50
GeoMaterialState
m_state
;
51
double
m_temperature
;
52
double
m_pressure
;
53
54
GeoIntrusivePtr<GeoMaterialPropertiesTable>
m_properties
{};
55
};
56
57
58
inline
const
GeoMaterialState
&
GeoExtendedMaterial::getState
()
const
59
{
60
return
m_state
;
61
}
62
63
inline
const
double
&
GeoExtendedMaterial::getTemperature
()
const
64
{
65
return
m_temperature
;
66
}
67
68
inline
const
double
&
GeoExtendedMaterial::getPressure
()
const
69
{
70
return
m_pressure
;
71
}
72
73
inline
void
GeoExtendedMaterial::SetMaterialPropertiesTable
(
GeoMaterialPropertiesTable
* MPT)
74
{
75
m_properties
= MPT;
76
}
77
78
inline
GeoMaterialPropertiesTable
*
GeoExtendedMaterial::GetMaterialPropertiesTable
()
79
{
80
return
m_properties
;
81
}
82
83
inline
const
GeoMaterialPropertiesTable
*
GeoExtendedMaterial::GetMaterialPropertiesTable
()
const
84
{
85
return
m_properties
;
86
}
87
88
#endif
GeoExtendedMaterial::m_state
GeoMaterialState m_state
Definition:
GeoExtendedMaterial.h:50
GeoExtendedMaterial::~GeoExtendedMaterial
virtual ~GeoExtendedMaterial()=default
python.PhysicalConstants.STP_Temperature
float STP_Temperature
Definition:
PhysicalConstants.py:119
stateSolid
@ stateSolid
Definition:
GeoExtendedMaterial.h:25
GeoExtendedMaterial::SetMaterialPropertiesTable
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *MPT)
Definition:
GeoExtendedMaterial.h:73
python.PhysicalConstants.STP_Pressure
int STP_Pressure
Definition:
PhysicalConstants.py:120
stateUndefined
@ stateUndefined
Definition:
GeoExtendedMaterial.h:25
GeoPrimitives.h
stateGas
@ stateGas
Definition:
GeoExtendedMaterial.h:25
GeoExtendedMaterial::getState
const GeoMaterialState & getState() const
Definition:
GeoExtendedMaterial.h:58
GeoExtendedMaterial::m_temperature
double m_temperature
Definition:
GeoExtendedMaterial.h:51
GeoExtendedMaterial::GeoExtendedMaterial
GeoExtendedMaterial(const std::string &Name, double Density, GeoMaterialState State=stateUndefined, double Temperature=SYSTEM_OF_UNITS::STP_Temperature, double Pressure=SYSTEM_OF_UNITS::STP_Pressure)
Definition:
GeoExtendedMaterial.cxx:8
MuonR4::State
CalibratedSpacePoint::State State
Definition:
SpacePointCalibrator.cxx:24
stateLiquid
@ stateLiquid
Definition:
GeoExtendedMaterial.h:25
GeoExtendedMaterial::getTemperature
const double & getTemperature() const
Definition:
GeoExtendedMaterial.h:63
GeoExtendedMaterial::GeoExtendedMaterial
GeoExtendedMaterial(const GeoExtendedMaterial &right)
GeoMaterialPropertiesTable.h
GeoExtendedMaterial::getPressure
const double & getPressure() const
Definition:
GeoExtendedMaterial.h:68
GeoExtendedMaterial::m_pressure
double m_pressure
Definition:
GeoExtendedMaterial.h:52
GeoExtendedMaterial::m_properties
GeoIntrusivePtr< GeoMaterialPropertiesTable > m_properties
Definition:
GeoExtendedMaterial.h:54
GeoMaterialState
GeoMaterialState
Definition:
GeoExtendedMaterial.h:25
Name
JetDumper::Name Name
Definition:
JetDumper.cxx:19
GeoMaterialPropertiesTable
Definition:
GeoMaterialPropertiesTable.h:20
GeoExtendedMaterial::GetMaterialPropertiesTable
GeoMaterialPropertiesTable * GetMaterialPropertiesTable()
Definition:
GeoExtendedMaterial.h:78
GeoExtendedMaterial
Definition:
GeoExtendedMaterial.h:28
GeoExtendedMaterial::operator=
GeoExtendedMaterial & operator=(const GeoExtendedMaterial &right)
Generated on Sun Dec 22 2024 21:10:47 for ATLAS Offline Software by
1.8.18