ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
InDetDD::SCT_ForwardFrameTransformation Class Reference

#include <SCT_ForwardFrameTransformation.h>

Collaboration diagram for InDetDD::SCT_ForwardFrameTransformation:

Public Member Functions

 SCT_ForwardFrameTransformation (const SCT_ForwardFrameTransformation &frame)
 Copy constructor: More...
 
 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. More...
 
virtual ~SCT_ForwardFrameTransformation ()=default
 Destructor: More...
 
SCT_ForwardFrameTransformationoperator= (const SCT_ForwardFrameTransformation &frame)
 Assignment operator: More...
 
SCT_ForwardFrameTransformationoperator= (SCT_ForwardFrameTransformation &&)=default
 Default move assignment operator: More...
 
double etaCenter () const
 eta coordinate of module center: More...
 
double phiCenter () const
 phi coordinate of modulecenter: More...
 
double radius () const
 r from module center to beam: More...
 
SCT_ForwardPolarPosition polarFromCartesian (const SiLocalPosition &cartesian) const
 create a SCT_ForwardPolarPosition from a SiLocalPosition More...
 
SiLocalPosition cartesianFromPolar (const SCT_ForwardPolarPosition &polar) const
 create a SiLocalPosition from a SCT_ForwardPolarPosition More...
 

Private Member Functions

 SCT_ForwardFrameTransformation ()
 

Private Attributes

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

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 }

◆ ~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 }

◆ 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 }

◆ 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:
beamspotman.r
def r
Definition: beamspotman.py:676
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
theta
Scalar theta() const
theta method
Definition: AmgMatrixBasePlugin.h:71
InDetDD::SCT_ForwardFrameTransformation::phiCenter
double phiCenter() const
phi coordinate of modulecenter:
Definition: SCT_ForwardFrameTransformation.h:96
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
InDetDD::SCT_ForwardFrameTransformation::radius
double radius() const
r from module center to beam:
Definition: SCT_ForwardFrameTransformation.h:101
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:53
InDetDD::SCT_ForwardFrameTransformation::m_etaCenter
double m_etaCenter
eta coordinate of module center
Definition: SCT_ForwardFrameTransformation.h:83
InDetDD::SCT_ForwardFrameTransformation::etaCenter
double etaCenter() const
eta coordinate of module center:
Definition: SCT_ForwardFrameTransformation.h:91
InDetDD::SCT_ForwardFrameTransformation::m_phiCenter
double m_phiCenter
phi coordinate of module center
Definition: SCT_ForwardFrameTransformation.h:84
InDetDD::SCT_ForwardFrameTransformation::m_radius
double m_radius
r from module center to beam
Definition: SCT_ForwardFrameTransformation.h:85
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36