ATLAS Offline Software
Loading...
Searching...
No Matches
SiDetElementLink_xk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class SiDetElementLink_xk
8// (c) ATLAS Detector software
10// Class for detector elements links
12// Version 1.0 3/10/2004 I.Gavrilenko
14
15#ifndef SiDetElementLink_xk_H
16#define SiDetElementLink_xk_H
17
18#include <utility>
19
21
22namespace InDet {
23
26 // Public methods:
28
29 public:
30 class ElementWay {
31 public:
35
36 const InDet::SiDetElementLink_xk* link() const { return m_link; }
37 float way() const { return m_way; }
38 float distance() const { return m_distance; }
39
40 private:
42 float m_way;
44 };
45
48 bool isITk = false);
55 // Main methods
57
58 void set(const double*, bool isITk = false);
60 float phi() const { return m_phi; }
61 float z() const { return m_z; }
62 float dz() const { return m_dz; }
63 void intersect(const float*, const float*, float*) const;
64 bool intersectITk(const float*, const float*, float&) const;
65
66 private:
67 const InDetDD::SiDetectorElement* m_detelement = nullptr; // note owning ptr
68 float m_phi = 0;
69 float m_z = 0;
70 float m_dz = 0;
71 float m_geo[6] = {};
72 float m_center[2] = {};
73 float m_bound[4][3] = {};
74};
75
77// Inline methods
79
81 const InDetDD::SiDetectorElement* el, const double* P, bool isITk) {
82 m_detelement = el;
83 set(P, isITk);
84}
85
86} // namespace InDet
87
88#endif // SiDetElementLink_xk
89
static Double_t P(Double_t *tt, Double_t *par)
Class to hold geometrical description of a silicon detector element.
Primary Vertex Finder.