ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_ExtensionDriftCircleLink_xk.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class TRT_ExtensionDriftCircleLink_xk
8// (c) ATLAS Detector software
10// Class for link to SCT amd PIXEL clusters
12// Version 1.0 3/10/2004 I.Gavrilenko
14
15#ifndef TRT_ExtensionDriftCircleLink_xk_H
16#define TRT_ExtensionDriftCircleLink_xk_H
17
19
20namespace InDet{
21
23 {
25 // Public methods
27
28 public:
29
34
36 // Main methods
38
39 const TRT_DriftCircle* cluster () const {return m_cluster ;}
40 const double& distance() const {return m_distance ;}
41 const double& sdistance() const {return m_sdistance;}
42 const double& impact () const {return m_impact ;}
43 const double& zlocal () const {return m_zlocal ;}
44 const double& szlocal () const {return m_szlocal ;}
45 const double& way () const {return m_way ;}
46 const int& number () const {return m_number ;}
47
48 const Trk::Surface& surface() const;
49
50 void set(const int&,double&,double&,double&,double&);
51 void set(const int&,double&,double&,double&,double&,double&,double&);
52 void set(const TRT_DriftCircle* const&);
53 void newImpactParameter(const double&);
54 void radiusCorrection(const double&);
55
56 protected:
57
59 // Protected Data
61
64 double m_distance ;
65 double m_impact ;
66 double m_zlocal ;
67 double m_way ;
68 double m_sdistance ;
69 double m_szlocal ;
70
72 // Methods
74
75 };
76
78 // Inline methods
80
82 {
83 m_cluster = 0 ;
84 m_number = 0 ;
85 m_distance = 0.;
86 m_impact = 0.;
87 m_zlocal = 0.;
88 m_way = 0.;
89 m_sdistance = 0.;
90 m_szlocal = 0.;
91 }
92
97
98 inline TRT_ExtensionDriftCircleLink_xk& TRT_ExtensionDriftCircleLink_xk::operator =
100 {
101 m_cluster = L.m_cluster ;
102 m_number = L.m_number ;
103 m_distance = L.m_distance ;
104 m_impact = L.m_impact ;
105 m_zlocal = L.m_zlocal ;
106 m_way = L.m_way ;
107 m_sdistance = L.m_sdistance;
108 m_szlocal = L.m_szlocal ;
109 return(*this);
110 }
111
113
115 (const int& n,double& d,double& im,double& zl, double& s)
116 {
117 m_cluster = 0 ;
118 m_number = n ;
119 m_distance = d ;
120 m_impact = im;
121 m_zlocal = zl;
122 m_way = s ;
123 m_sdistance = 0.;
124 m_szlocal = 0.;
125 }
126
128 (const int& n,double& d,double& im,double& zl, double& s,double& sd,double& sz)
129 {
130 set(n,d,im,zl,s); m_sdistance = sd; m_szlocal = sz;
131 }
132
134 (const TRT_DriftCircle* const& c)
135 {
136 m_cluster = c ;
137 }
138
140 {
141 if((m_impact*m_distance) > 0.) {m_distance = d; m_impact = d;}
142 else {m_distance = d; m_impact =-d;}
143 }
144
146 {
147 return m_cluster->detectorElement()->surface(m_cluster->identify());
148 }
149
151 {
152 m_zlocal+=(m_szlocal*dr);
153 double d = m_sdistance*dr;
154 if((m_impact*m_distance) > 0.) {m_distance+=d; m_impact+=d;}
155 else {m_distance+=d; m_impact-=d;}
156 }
157
158} // end of name space
159
160#endif // TRT_ExtensionDriftCircleLink_xk
161
162
static Double_t sz
Abstract Base Class for tracking surfaces.
Primary Vertex Finder.