ATLAS Offline Software
AnnulusBounds.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 namespace Trk {
6 inline AnnulusBounds*
7 AnnulusBounds::clone() const
8 {
9  return new AnnulusBounds(*this);
10 }
11 
12 inline double
13 AnnulusBounds::minR() const
14 {
15  return m_boundValues[AnnulusBounds::bv_minR];
16 }
17 
18 inline double
19 AnnulusBounds::maxR() const
20 {
21  return m_boundValues[AnnulusBounds::bv_maxR];
22 }
23 
24 inline double
25 AnnulusBounds::waferCentreR() const
26 {
27  return m_boundValues[AnnulusBounds::bv_R];
28 }
29 
30 inline double
31 AnnulusBounds::phi() const
32 {
33  return m_boundValues[AnnulusBounds::bv_phi];
34 }
35 
36 inline double
37 AnnulusBounds::phiS() const
38 {
39  return m_boundValues[AnnulusBounds::bv_phiS];
40 }
41 
42 inline double
43 AnnulusBounds::r() const
44 
45 {
46  return AnnulusBounds::bv_maxR;
47 } // MW to be fixed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
48 
49 inline bool
50 AnnulusBounds::insideLoc1(const Amg::Vector2D& locpo, double tol1) const
51 {
52  return (
53  locpo[locX] > std::min(m_solution_L_min[0], m_solution_L_max[0]) - tol1 &&
54  locpo[locX] < std::max(m_solution_R_min[0], m_solution_R_max[0]) + tol1);
55 }
56 // MW Fix it
57 
58 inline bool
59 AnnulusBounds::insideLoc2(const Amg::Vector2D& locpo, double tol2) const
60 {
61  return (
62  locpo[locY] > std::min(m_solution_L_min[1], m_solution_L_max[1]) - tol2 &&
63  locpo[locY] < std::max(m_solution_R_min[1], m_solution_R_max[1]) + tol2);
64 }
65 // MW Fix it
66 
67 inline const std::vector<TDD_real_t>& AnnulusBounds::getBoundsValues() {
68  return m_boundValues;
69 }
70 
71 }
72