|
||||
File indexing completed on 2025-01-18 09:11:03
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 virtual double rMin() const = 0; 0026 0027 /// Return method for outer Radius 0028 virtual double rMax() const = 0; 0029 0030 /// Return the vertices 0031 /// 0032 /// @param quarterSegments The number of segments used to describe a quarter 0033 /// of a circle, if it is 1, then only the extrema points in phi are inserted 0034 /// next to the segment corners 0035 /// 0036 /// @return vector for vertices in 2D 0037 virtual std::vector<Vector2> vertices( 0038 unsigned int quarterSegments = 2u) const = 0; 0039 0040 /// Returns a reference radius for binning 0041 virtual double binningValueR() const = 0; 0042 0043 /// Returns a refererance phi for binning 0044 virtual double binningValuePhi() const = 0; 0045 0046 /// Returns true for full phi coverage 0047 virtual bool coversFullAzimuth() const = 0; 0048 0049 /// Checks if it's inside the radius 0050 virtual bool insideRadialBounds(double R, double tolerance = 0.) const = 0; 0051 }; 0052 0053 } // 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 |