ATLAS Offline Software
Loading...
Searching...
No Matches
SiSpacePointsProSeed.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6
9
10namespace InDet {
12 {
13 m_s0 = nullptr ;
14 m_s1 = nullptr ;
15 m_s2 = nullptr ;
16 m_d0 = 0.;
17 m_eta = 0.;
18 m_z = 0.;
19 m_q = 0.;
20 }
21
22 // Variables not copied deliberately?
23 // cppcheck-suppress operatorEqVarError
24 SiSpacePointsProSeed& SiSpacePointsProSeed::operator =
25 (const SiSpacePointsProSeed& sp)
26 {
27 if(&sp!=this) {
28
29 m_d0 = sp.m_d0;
30 m_z = sp.m_z ;
31 m_eta = sp.m_eta;
32 m_q = sp.m_q ;
33 m_s0 = sp.m_s0;
34 m_s1 = sp.m_s1;
35 m_s2 = sp.m_s2;
36 }
37 return(*this);
38 }
39
45
47 // Copy constructor
49
54
56 // Set
58
61 {
62 m_z = z ;
63 m_s0 = s0;
64 m_s1 = s1;
65 m_s2 = s2;
66 }
67
69 // Set two space points seed
71
73 {
74 s.erase();
75 s.add(m_s0->spacepoint);
76 s.add(m_s1->spacepoint);
77 s.setZVertex(double(m_z));
78 }
79
81 // Set three space points seed
83
85 {
86
87 bool pixb = !m_s0->spacepoint->clusterList().second;
88 bool pixt = !m_s2->spacepoint->clusterList().second;
89
90 if(pixb!=pixt) {
91 if(m_q > m_s0->quality() && m_q > m_s1->quality() && m_q > m_s2->quality()) return false;
92 }
93
94 m_s0->setQuality(m_q);
95 m_s1->setQuality(m_q);
96 m_s2->setQuality(m_q);
97
98 s.erase();
99 s.add(m_s0->spacepoint);
100 s.add(m_s1->spacepoint);
101 s.add(m_s2->spacepoint);
102 s.setD0(m_s2->param());
103 s.setZVertex(double(m_z));
104 s.setEta(m_s2->eta());
105 s.setX1(m_s0->x());
106 s.setX2(m_s1->x());
107 s.setX3(m_s2->x());
108 s.setY1(m_s0->y());
109 s.setY2(m_s1->y());
110 s.setY3(m_s2->y());
111 s.setZ1(m_s0->z());
112 s.setZ2(m_s1->z());
113 s.setZ3(m_s2->z());
114 s.setR1(m_s0->radius());
115 s.setR2(m_s1->radius());
116 s.setR3(m_s2->radius());
117 s.setDZDR_B(m_s0->dzdr());
118 s.setDZDR_T(m_s2->dzdr());
119 s.setPt(m_s2->Pt());
120 return true;
121 }
122
124 // Set quality in pro seed
126
128 {
129 m_q = q;
130 bool pixb = !m_s0->spacepoint->clusterList().second;
131 bool pixt = !m_s2->spacepoint->clusterList().second;
133 if(pixb==pixt) {
134 m_s0->setQuality(q);
135 m_s1->setQuality(q);
136 m_s2->setQuality(q);
137 return true;
138 }
139 return q < m_s0->quality() || q < m_s1->quality() || q < m_s2->quality();
140 }
141
142} // end of name space
static Double_t sp
static Double_t s0
void set(SiSpacePointForSeed *&, SiSpacePointForSeed *&, SiSpacePointForSeed *&, float)
void set2(InDet::SiSpacePointsSeed &)
bool set3(InDet::SiSpacePointsSeed &)
Primary Vertex Finder.