ATLAS Offline Software
SiTrajectory_xk.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "TrkSurfaces/PlaneSurface.h"
6 
7 /////////////////////////////////////////////////////////////////////////////////
8 // Inline methods
9 /////////////////////////////////////////////////////////////////////////////////
10 
11 inline InDet::SiTrajectory_xk::SiTrajectory_xk()
12  : m_firstElement (0),
13  m_lastElement (0),
14  m_nclusters (0),
15  m_nclustersNoAdd (0),
16  m_difference (0),
17  m_nHolesBefore (0),
18  m_nHolesAfter (0),
19  m_nholes (0),
20  m_dholes (0),
21  m_nActiveElements (0),
22  m_nElements (0),
23  m_ndfcut (0),
24  m_ndf (0),
25  m_ntos (0),
26  m_tools (nullptr)
27 {
28 }
29 
30 inline InDet::SiTrajectory_xk::SiTrajectory_xk(const InDet::SiTrajectory_xk& T)
31 {
32  *this = T;
33 }
34 
35 inline InDet::SiTrajectory_xk& InDet::SiTrajectory_xk::operator =
36  (const InDet::SiTrajectory_xk& T)
37 {
38  m_firstElement = T.m_firstElement ;
39  m_lastElement = T.m_lastElement ;
40  m_nclusters = T.m_nclusters ;
41  m_ndfcut = T.m_ndfcut ;
42  m_ndf = T.m_ndf ;
43  m_ntos = T.m_ntos ;
44  m_nclustersNoAdd = T.m_nclustersNoAdd ;
45  m_nHolesBefore = T.m_nHolesBefore ;
46  m_nHolesAfter = T.m_nHolesAfter ;
47  m_nholes = T.m_nholes ;
48  m_dholes = T.m_dholes ;
49  m_nActiveElements = T.m_nActiveElements ;
50  m_nElements = T.m_nElements ;
51  m_tools = T.m_tools ;
52  m_surfacedead.reset(T.m_surfacedead ? T.m_surfacedead->clone() : nullptr);
53 
54  for (int i=0; i!=m_nElements; ++i) {
55  int e = T.m_elementsMap[i];
56  m_elementsMap[i] = e ;
57  m_elements [e] = T.m_elements[e] ;
58  }
59  for (int i=0; i!=m_ntos; ++i) {
60  m_atos[i] = T.m_atos[i];
61  m_itos[i] = T.m_itos[i];
62  }
63  return(*this);
64 }
65 
66 inline bool InDet::SiTrajectory_xk::isLastPixel() const
67 {
68  if (m_elements[m_elementsMap[m_lastElement]].ndf()==2) return true;
69  return false;
70 }
71 
72 inline const Trk::PatternTrackParameters *InDet::SiTrajectory_xk::firstParameters() const
73 {
74  return m_elements[m_elementsMap[m_firstElement]].parameters();
75 }
76 
77 inline std::unique_ptr<Trk::TrackParameters> InDet::SiTrajectory_xk::firstTrackParameters()
78 {
79  return m_elements[m_elementsMap[m_firstElement]].trackParameters(false,1);
80 }