|
|
|||
File indexing completed on 2026-09-10 08:18:11
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/Definitions/Algebra.hpp" 0012 #include "Acts/Material/Material.hpp" 0013 0014 namespace Acts { 0015 0016 class Material; 0017 0018 /// @class IVolumeMaterial 0019 /// 0020 /// @ingroup material 0021 /// 0022 /// Virtual base class of volume material description 0023 // 0024 /// Material associated with a Volume (homogeneous, binned, interpolated) 0025 class IVolumeMaterial { 0026 public: 0027 /// Virtual Destructor 0028 virtual ~IVolumeMaterial() = default; 0029 0030 /// Access to actual material 0031 /// 0032 /// @param position is the request position for the material call 0033 /// @todo interface to change including 'cell' 0034 /// @return The material properties at the given position 0035 virtual const Material material(const Vector3& position) const = 0; 0036 0037 /// @brief output stream operator 0038 /// 0039 /// Prints information about this object to the output stream using the 0040 /// virtual IVolumeeMaterial::toStream method 0041 /// 0042 /// @return modified output stream object 0043 friend std::ostream& operator<<(std::ostream& out, 0044 const IVolumeMaterial& vm) { 0045 vm.toStream(out); 0046 return out; 0047 } 0048 0049 /// Output Method for std::ostream, to be overloaded by child classes 0050 /// @param sl Output stream to write to 0051 /// @return Reference to the output stream for method chaining 0052 virtual std::ostream& toStream(std::ostream& sl) const = 0; 0053 }; 0054 0055 } // namespace Acts
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|