ATLAS Offline Software
Loading...
Searching...
No Matches
InDetDD::SCT_ForwardFrameTransformation Class Reference

Class that connect cartesian and pokar coordinates. More...

#include <SCT_ForwardFrameTransformation.h>

Collaboration diagram for InDetDD::SCT_ForwardFrameTransformation:

Public Member Functions

 SCT_ForwardFrameTransformation (const SCT_ForwardFrameTransformation &frame)
 Copy constructor:
 SCT_ForwardFrameTransformation (const double etaCenter, const double phiCenter, const double radius)
 Constructor with parameters: eta coordinate of module center phi coordinate of module center r from module center to beam.
virtual ~SCT_ForwardFrameTransformation ()=default
 Destructor:
SCT_ForwardFrameTransformationoperator= (const SCT_ForwardFrameTransformation &frame)
 Assignment operator:
SCT_ForwardFrameTransformationoperator= (SCT_ForwardFrameTransformation &&)=default
 Default move assignment operator:
double etaCenter () const
 eta coordinate of module center:
double phiCenter () const
 phi coordinate of modulecenter:
double radius () const
 r from module center to beam:
SCT_ForwardPolarPosition polarFromCartesian (const SiLocalPosition &cartesian) const
 create a SCT_ForwardPolarPosition from a SiLocalPosition
SiLocalPosition cartesianFromPolar (const SCT_ForwardPolarPosition &polar) const
 create a SiLocalPosition from a SCT_ForwardPolarPosition

Private Member Functions

 SCT_ForwardFrameTransformation ()

Private Attributes

double m_etaCenter
 eta coordinate of module center
double m_phiCenter
 phi coordinate of module center
double m_radius
 r from module center to beam

Detailed Description

Class that connect cartesian and pokar coordinates.

Author
: Grant Gorfine
  • modified & maintained : Andreas Salzburger

Definition at line 27 of file SCT_ForwardFrameTransformation.h.

Constructor & Destructor Documentation

◆ SCT_ForwardFrameTransformation() [1/3]

InDetDD::SCT_ForwardFrameTransformation::SCT_ForwardFrameTransformation ( const SCT_ForwardFrameTransformation & frame)
default

Copy constructor:

◆ SCT_ForwardFrameTransformation() [2/3]

InDetDD::SCT_ForwardFrameTransformation::SCT_ForwardFrameTransformation ( const double etaCenter,
const double phiCenter,
const double radius )

Constructor with parameters: eta coordinate of module center phi coordinate of module center r from module center to beam.

Definition at line 31 of file SCT_ForwardFrameTransformation.cxx.

31 :
35{
36 //check if parameters are consistent
37 if (m_radius<0) m_radius=0;
38}
double etaCenter() const
eta coordinate of module center:
double m_etaCenter
eta coordinate of module center
double phiCenter() const
phi coordinate of modulecenter:
double radius() const
r from module center to beam:
double m_phiCenter
phi coordinate of module center

◆ ~SCT_ForwardFrameTransformation()

virtual InDetDD::SCT_ForwardFrameTransformation::~SCT_ForwardFrameTransformation ( )
virtualdefault

Destructor:

◆ SCT_ForwardFrameTransformation() [3/3]

InDetDD::SCT_ForwardFrameTransformation::SCT_ForwardFrameTransformation ( )
private

Member Function Documentation

◆ cartesianFromPolar()

SiLocalPosition InDetDD::SCT_ForwardFrameTransformation::cartesianFromPolar ( const SCT_ForwardPolarPosition & polar) const

create a SiLocalPosition from a SCT_ForwardPolarPosition

Definition at line 65 of file SCT_ForwardFrameTransformation.cxx.

66{
67 const double phi = m_phiCenter + polar.r()*sin(polar.theta());
68 const double eta = m_etaCenter + polar.r()*cos(polar.theta()) - m_radius;
69 return SiLocalPosition(eta, phi);
70}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method

◆ etaCenter()

double InDetDD::SCT_ForwardFrameTransformation::etaCenter ( ) const
inline

eta coordinate of module center:

Definition at line 91 of file SCT_ForwardFrameTransformation.h.

92{
93 return m_etaCenter;
94}

◆ operator=() [1/2]

SCT_ForwardFrameTransformation & InDetDD::SCT_ForwardFrameTransformation::operator= ( const SCT_ForwardFrameTransformation & frame)

Assignment operator:

Definition at line 42 of file SCT_ForwardFrameTransformation.cxx.

43{
44 if (this!=&frame) {
45 m_etaCenter=frame.m_etaCenter;
46 m_phiCenter=frame.m_phiCenter;
47 m_radius=frame.m_radius;
48 } else {}
49 return *this;
50}

◆ operator=() [2/2]

SCT_ForwardFrameTransformation & InDetDD::SCT_ForwardFrameTransformation::operator= ( SCT_ForwardFrameTransformation && )
default

Default move assignment operator:

◆ phiCenter()

double InDetDD::SCT_ForwardFrameTransformation::phiCenter ( ) const
inline

phi coordinate of modulecenter:

Definition at line 96 of file SCT_ForwardFrameTransformation.h.

97{
98 return m_phiCenter;
99}

◆ polarFromCartesian()

SCT_ForwardPolarPosition InDetDD::SCT_ForwardFrameTransformation::polarFromCartesian ( const SiLocalPosition & cartesian) const

create a SCT_ForwardPolarPosition from a SiLocalPosition

Definition at line 54 of file SCT_ForwardFrameTransformation.cxx.

55{
56 const double deltaPhi = cartesian.xPhi()-m_phiCenter;
57 const double deltaEta = cartesian.xEta()-m_etaCenter+m_radius;
58 const double r = sqrt(deltaPhi*deltaPhi+deltaEta*deltaEta);
59 if (r<=0) return {};
60 const double theta = asin((cartesian.xPhi()-m_phiCenter)/r);
61 return SCT_ForwardPolarPosition(r,theta);
62}
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
Scalar theta() const
theta method
double xPhi() const
position along phi direction:
double xEta() const
position along eta direction:
int r
Definition globals.cxx:22
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition P4Helpers.h:66

◆ radius()

double InDetDD::SCT_ForwardFrameTransformation::radius ( ) const
inline

r from module center to beam:

Definition at line 101 of file SCT_ForwardFrameTransformation.h.

102{
103 return m_radius;
104}

Member Data Documentation

◆ m_etaCenter

double InDetDD::SCT_ForwardFrameTransformation::m_etaCenter
private

eta coordinate of module center

Definition at line 83 of file SCT_ForwardFrameTransformation.h.

◆ m_phiCenter

double InDetDD::SCT_ForwardFrameTransformation::m_phiCenter
private

phi coordinate of module center

Definition at line 84 of file SCT_ForwardFrameTransformation.h.

◆ m_radius

double InDetDD::SCT_ForwardFrameTransformation::m_radius
private

r from module center to beam

Definition at line 85 of file SCT_ForwardFrameTransformation.h.


The documentation for this class was generated from the following files: