ATLAS Offline Software
Loading...
Searching...
No Matches
SiSpacePointForSeed.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 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 SiSpacePointForSeed_h
18#define SiSpacePointForSeed_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
32
34 // Public methods:
36
37 public:
38
43 SiSpacePointForSeed& operator = (SiSpacePointForSeed&) noexcept = default;
44 ~SiSpacePointForSeed() = default;
45
47 SiSpacePointForSeed(const Trk::SpacePoint*,std::span<float const, 3>, std::span<float const, 4>);
48
49 void set(const Trk::SpacePoint*,std::span<float const, 3>);
50 void set(const Trk::SpacePoint*,std::span<float const, 3>, std::span<float const, 4>);
51 void setQuality(float q) { if(q <= m_q) m_q = q; }
52 void setParam(float p) {m_param = p;}
53 void setD0(float d0) { m_d0 = d0; }
54 void setEta(float eta) { m_eta = eta; }
55 void setDZDR(float dzdr) { m_dzdr = dzdr; }
56 void setPt(float pt) { m_pt = pt; }
57 void setScorePenalty(float par) {m_scorePenalty=par;}
58
59 const Trk::SpacePoint* spacepoint = nullptr;
60 float x() const {return m_x;}
61 float y() const {return m_y;}
62 float z() const {return m_z;}
63 float radius() const {return m_r;}
64 float phi() const {return std::atan2(m_y,m_x);}
65 float covr() const {return m_covr;}
66 float covz() const {return m_covz;}
67 float d0() const {return m_d0;}
68 float eta() const {return m_eta;}
69 float param() const {return m_param;}
70 float scorePenalty() const {return m_scorePenalty;}
71 float quality() const {return m_q ;}
72 float dzdr() const {return m_dzdr;}
73 float Pt() const {return m_pt;}
74 const Trk::Surface* sur() const {return m_su;}
75 const Trk::Surface* sun() const {return m_sn;}
76
77 private:
78
79 float m_x{} ; // x-coordinate in beam system coordinates
80 float m_y{} ; // y-coordinate in beam system coordinates
81 float m_z{} ; // z-coordinate in beam system coordinetes
82 float m_r{} ; // radius in beam system coordinates
83 float m_covr{}; //
84 float m_covz{}; //
85 float m_d0 = 0.f;
86 float m_eta = 0.f;
87 float m_dzdr = 0.f;
88 float m_pt = 0.f;
89 float m_param{};
90 float m_scorePenalty=0.f;
91 float m_q{};
92 const Trk::Surface* m_su = nullptr;
93 const Trk::Surface* m_sn = nullptr;
94 };
95
96} // end of name space
97
98#endif // SiSpacePointForSeed_h
const Trk::SpacePoint * spacepoint
float m_q
penalty term in the seed score
SiSpacePointForSeed(SiSpacePointForSeed &&) noexcept=default
float m_scorePenalty
impact parameter
SiSpacePointForSeed & operator=(const SiSpacePointForSeed &)=default
SiSpacePointForSeed(const SiSpacePointForSeed &)=default
const Trk::Surface * sur() const
float scorePenalty() const
impact parameter
float quality() const
penalty term in the seed score
float dzdr() const
quality of the best seed this candidate was seen on
void set(const Trk::SpacePoint *, std::span< float const, 3 >)
const Trk::Surface * sun() const
const Trk::Surface * m_su
quality of the best seed this candidate was seen on
Abstract Base Class for tracking surfaces.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.