|
|
|||
File indexing completed on 2025-12-15 09:42:20
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/Surfaces/SurfaceBounds.hpp" 0012 0013 namespace Acts { 0014 0015 /// @class DiscBounds 0016 /// 0017 /// @image html DiscBounds.gif 0018 /// 0019 /// common base class for all bounds that are in a r/phi frame 0020 /// - simply introduced to avoid wrong bound assignments to surfaces 0021 /// 0022 class DiscBounds : public SurfaceBounds { 0023 public: 0024 /// Return method for inner Radius 0025 /// @return Minimum radius of the disc bounds 0026 virtual double rMin() const = 0; 0027 0028 /// Return method for outer Radius 0029 /// @return Maximum radius of the disc bounds 0030 virtual double rMax() const = 0; 0031 0032 /// Return the vertices 0033 /// 0034 /// @param quarterSegments The number of segments used to describe a quarter 0035 /// of a circle, if it is 1, then only the extrema points in phi are inserted 0036 /// next to the segment corners 0037 /// 0038 /// @return vector for vertices in 2D 0039 virtual std::vector<Vector2> vertices( 0040 unsigned int quarterSegments = 2u) const = 0; 0041 0042 /// Returns a reference radius for binning 0043 /// @return Reference radius value used for binning purposes 0044 virtual double binningValueR() const = 0; 0045 0046 /// Returns a refererance phi for binning 0047 /// @return Reference phi angle value used for binning purposes 0048 virtual double binningValuePhi() const = 0; 0049 0050 /// Returns true for full phi coverage 0051 /// @return True if the bounds cover the full azimuthal range, false otherwise 0052 virtual bool coversFullAzimuth() const = 0; 0053 0054 /// Checks if it's inside the radius 0055 /// @param R The radius value to check 0056 /// @param tolerance The tolerance for the check 0057 /// @return True if the radius is within the bounds, false otherwise 0058 virtual bool insideRadialBounds(double R, double tolerance = 0.) const = 0; 0059 }; 0060 0061 } // 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 |
|