ATLAS Offline Software
Loading...
Searching...
No Matches
SiLocalPosition.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SiLocalPosition.cxx
7// Implementation file for class SiLocalPosition
9// (c) ATLAS Detector software
11// Version 2.1 01/08/2001 David Calvet
13
15
16namespace InDetDD {
17
18// Implicit constructor:
24
25// Copy constructor:
27
28= default;
29
30// Constructor with parameters:
31SiLocalPosition::SiLocalPosition(const double xEta,const double xPhi,
32 const double xDepth) :
33 m_xEta(xEta),
34 m_xPhi(xPhi),
36{}
37
39 : m_xEta(position[Trk::distEta]),
40 m_xPhi(position[Trk::distPhi]),
41 m_xDepth(0)
42{}
43
44
45SiLocalPosition::operator Amg::Vector2D(void) const
46{
48}
49
50// Assignment operator:
52{
53 if (this!=&position) {
54 m_xEta=position.m_xEta;
55 m_xPhi=position.m_xPhi;
56 m_xDepth=position.m_xDepth;
57 } else {}
58 return *this;
59}
60
61// addition of positions:
63{
64 m_xEta+=position.m_xEta;
65 m_xPhi+=position.m_xPhi;
66 m_xDepth+=position.m_xDepth;
67 return *this;
68}
69
70// scaling:
72{
73 m_xEta*=factor;
74 m_xPhi*=factor;
75 m_xDepth*=factor;
76 return *this;
77}
78
79// scaling:
81{
82 if (0!=factor) {
83 m_xEta/=factor;
84 m_xPhi/=factor;
85 m_xDepth/=factor;
86 } else {}
87 return *this;
88}
89
91 const SiLocalPosition &position2)
92{
93 SiLocalPosition result(position1);
94 result+=position2;
95 return result;
96}
97
98SiLocalPosition operator*(const SiLocalPosition &position,const double factor)
99{
100 SiLocalPosition result(position);
101 result*=factor;
102 return result;
103}
104
105SiLocalPosition operator/(const SiLocalPosition &position,const double factor)
106{
107 SiLocalPosition result(position);
108 result/=factor;
109 return result;
110}
111
112} // namespace InDetDD
Class to represent a position in the natural frame of a silicon sensor, for Pixel and SCT For Pixel: ...
SiLocalPosition & operator/=(const double factor)
double m_xEta
position along eta direction
SiLocalPosition()
Implicit constructor:
double xDepth() const
position along depth direction:
double xPhi() const
position along phi direction:
double m_xPhi
position along phi direction
double xEta() const
position along eta direction:
SiLocalPosition & operator=(const SiLocalPosition &position)
Assignment operator:
double m_xDepth
position along depth direction
SiLocalPosition & operator*=(const double factor)
SiLocalPosition & operator+=(const SiLocalPosition &position)
Eigen::Matrix< double, 2, 1 > Vector2D
Message Stream Member.
SiLocalPosition operator*(const SiLocalPosition &position, const double factor)
SiLocalPosition operator+(const SiLocalPosition &position1, const SiLocalPosition &position2)
@ distEta
readout for silicon
Definition ParamDefs.h:51
@ distPhi
Definition ParamDefs.h:50
SiLocalPosition operator/(const SiLocalPosition &position, const double factor)
Ensure that the ATLAS eigen extensions are properly loaded.