ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
11#include "GeoModelKernel/GeoMaterial.h"
12#include "GeoModelKernel/GeoIntrusivePtr.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
26
27class GeoExtendedMaterial : public GeoMaterial
28{
29 public:
30 GeoExtendedMaterial(const std::string &Name,
31 double Density,
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
45
46 private:
49
52 double m_pressure;
53
54 GeoIntrusivePtr<GeoMaterialPropertiesTable> m_properties{};
55};
56
57
59{
60 return m_state;
61}
62
63inline const double& GeoExtendedMaterial::getTemperature() const
64{
65 return m_temperature;
66}
67
68inline const double& GeoExtendedMaterial::getPressure() const
69{
70 return m_pressure;
71}
72
77
82
87
88#endif
GeoMaterialState
@ stateLiquid
@ stateUndefined
@ stateSolid
JetDumper::Name Name
Definition JetDumper.cxx:19
GeoIntrusivePtr< GeoMaterialPropertiesTable > m_properties
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *MPT)
const GeoMaterialState & getState() const
const double & getTemperature() const
GeoExtendedMaterial(const GeoExtendedMaterial &right)
GeoMaterialState m_state
GeoExtendedMaterial(const std::string &Name, double Density, GeoMaterialState State=stateUndefined, double Temperature=SYSTEM_OF_UNITS::STP_Temperature, double Pressure=SYSTEM_OF_UNITS::STP_Pressure)
GeoMaterialPropertiesTable * GetMaterialPropertiesTable()
virtual ~GeoExtendedMaterial()=default
GeoExtendedMaterial & operator=(const GeoExtendedMaterial &right)
const double & getPressure() const