ATLAS Offline Software
TRT_DetElementLink_xk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Header file for class TRT_DetElementLink_xk
8 // (c) ATLAS Detector software
10 // Class for detector elements links
12 // Version 1.0 3/10/2004 I.Gavrilenko
14 
15 #ifndef TRT_DetElementLink_xk_H
16 #define TRT_DetElementLink_xk_H
17 
18 #include <array>
19 #include <vector>
20 
22 
23 namespace InDet {
24 
27  // Public methods:
29 
30  public:
31  class Used_t {
32  public:
33  Used_t() : m_used(false) {}
34 
35  bool used() const { return m_used; }
36 
37  void setUsed() { m_used = true; }
38 
39  private:
40  bool m_used;
41  };
42  using TRT_DetElemUsedMap = std::array<std::vector<std::vector<Used_t> >, 3>;
43 
45  TRT_DetElementLink_xk(const InDetDD::TRT_BaseElement*&, const double*);
46 
49 
52 
54  // Main methods
56 
58  const float& phi() const { return m_phi; }
59  const float& sin() const { return m_sin; }
60  const float& cos() const { return m_cos; }
61  const float& centerf() const { return m_centerf; }
62 
63  protected:
65  // Protected Data
67 
69  float m_phi;
70  float m_sin;
71  float m_cos;
72  float m_centerf;
73 
75  // Methods
77 };
78 
80 // Inline methods
82 
84  m_detelement = 0;
85  m_phi = 0.;
86  m_sin = 0.;
87  m_cos = 0.;
88  m_centerf = 0.;
89 }
90 
92  const InDetDD::TRT_BaseElement*& el, const double* P) {
93  m_detelement = el; // det elements
94  m_phi = float(P[2]); // azimuthal angle
95  m_sin = float(P[5]); // sin(phi)
96  m_cos = float(P[6]); // cos(phi)
97  m_centerf = float(P[18]); //
98 }
99 
100 } // namespace InDet
101 
102 #endif // TRT_DetElementLink_xk
103 
DMTest::P
P_v1 P
Definition: P.h:23
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
TRT_BaseElement.h
readCCLHist.float
float
Definition: readCCLHist.py:83
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57