ATLAS Offline Software
Loading...
Searching...
No Matches
ITkSiSpacePointForSeed.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
8// Header file for class ITk::SiSpacePointForSeed
10// (c) ATLAS Detector software
12// Class space points for seed maker
14// Version 1.0 18/11/2004 I.Gavrilenko
16
17#ifndef ITkSiSpacePointForSeed_h
18#define ITkSiSpacePointForSeed_h
19
20#include <cmath>
21#include <span>
22
23namespace Trk {
24 class SpacePoint;
25 class Surface;
26}
27
28namespace InDet {
29 class SiCluster;
30}
31
32namespace ITk
33{
35
37 // Public methods:
39
40 public:
41
46 SiSpacePointForSeed& operator = (SiSpacePointForSeed&&) noexcept =default;
47 ~SiSpacePointForSeed() = default;
48
49 SiSpacePointForSeed(const Trk::SpacePoint*, std::span<float const, 15>);
50 SiSpacePointForSeed(const Trk::SpacePoint*, std::span<float const, 15>, std::span<float const, 15>);
51
52 void set(const Trk::SpacePoint*,std::span<float const, 15>) ;
53 void set(const Trk::SpacePoint*,std::span<float const, 15>,std::span<float const, 15>);
54 void setQuality(float);
55 void setParam(float p) { m_param = p; }
56 void setDR(float dr) { m_dR = dr;}
57 void setDZDR(float dzdr) { m_dzdr = dzdr; }
58 void setEta(float eta) { m_eta = eta; }
59 void setScorePenalty(float score) {m_scorePenalty = score;}
60 void setPt(const float pt) { m_pt = pt; }
61
62 const Trk::SpacePoint* spacepoint = nullptr ;
63 float x() const {return m_x;}
64 float y() const {return m_y;}
65 float z() const {return m_z;}
66 float radius() const {return m_r;}
67 float phi() const {return atan2(m_y,m_x);}
68 float covr() const {return m_covr;}
69 float covz() const {return m_covz;}
70 float param() const {return m_param;}
71 float quality() const {return m_q ;}
72 float dzdr() const {return m_dzdr;}
73 float eta() const {return m_eta;}
74 float pt() const {return m_pt;}
75 float scorePenalty() const {return m_scorePenalty;}
76 float dR() const {return m_dR;}
77 const Trk::Surface* sur() const {return m_su;}
78 const Trk::Surface* sun() const {return m_sn;}
79 const float* b0() const {return m_b0;}
80 const float* b1() const {return m_b1;}
81 const float* dr() const {return m_dr;}
82 const float* r0() const {return m_r0;}
83
84 bool coordinates(const float*,float*);
85
86 private:
87
88 float m_x{} ; // x-coordinate in beam system coordinates
89 float m_y{} ; // y-coordinate in beam system coordinates
90 float m_z{} ; // z-coordinate in beam system coordinetes
91 float m_r{} ; // radius in beam system coordinates
92 float m_covr{}; //
93 float m_covz{}; //
94 float m_param{};
95 float m_q{} ;
97 float m_dR{};
98 float m_eta{} ;
99 float m_pt{} ;
100 float m_dzdr{};
101
102
103 float m_b0[3]{};
104 float m_b1[3]{};
105 float m_dr[3]{};
106 float m_r0[3]{};
107
108 const Trk::Surface* m_su = nullptr;
109 const Trk::Surface* m_sn = nullptr;
110 };
111
112} // end of name space ITk
113
114#endif // ITkSiSpacePointForSeed_h
const Trk::SpacePoint * spacepoint
const Trk::Surface * sur() const
distance between top and central SP
float dR() const
penalty term in the seed score
void set(const Trk::SpacePoint *, std::span< float const, 15 >)
bool coordinates(const float *, float *)
float m_dR
penalty term in the seed score
SiSpacePointForSeed(const SiSpacePointForSeed &)=default
SiSpacePointForSeed & operator=(const SiSpacePointForSeed &)=default
const Trk::Surface * sun() const
SiSpacePointForSeed(SiSpacePointForSeed &&) noexcept=default
Abstract Base Class for tracking surfaces.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.