|
||||
File indexing completed on 2025-01-19 09:23:34
0001 // This file is part of the Acts project. 0002 // 0003 // Copyright (C) 2016-2020 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 http://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 lseg the number of segments used to approximate 0033 /// and eventually curved line, the number refers to full 2*PI 0034 /// 0035 /// @note that the extremas are given, which may slightly alter the 0036 /// number of segments returned 0037 /// 0038 /// @return vector for vertices in 2D 0039 virtual std::vector<Vector2> vertices(unsigned int lseg) const = 0; 0040 0041 /// Returns a reference radius for binning 0042 virtual double binningValueR() const = 0; 0043 0044 /// Returns a refererance phi for binning 0045 virtual double binningValuePhi() const = 0; 0046 0047 /// Returns true for full phi coverage 0048 virtual bool coversFullAzimuth() const = 0; 0049 0050 /// Checks if it's inside the radius 0051 virtual bool insideRadialBounds(double R, double tolerance = 0.) const = 0; 0052 }; 0053 0054 } // 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 |