ATLAS Offline Software
Loading...
Searching...
No Matches
TrkDriftCircleMath::TransformToLine Class Reference

#include <TransformToLine.h>

Collaboration diagram for TrkDriftCircleMath::TransformToLine:

Public Member Functions

 TransformToLine ()=default
 TransformToLine (const Line &line)
LocVec2D toLine (const LocVec2D &pos) const
double toLineX (const LocVec2D &pos) const
 only get one coordinate -> faster
double toLineY (const LocVec2D &pos) const
LocVec2D toLocal (const LocVec2D &pos) const
void set (const Line &line)
DriftCircle toLine (const DriftCircle &dc) const
DriftCircle toLocal (const DriftCircle &dc) const
const RotPhitoLineRotation () const
 rotate local position into line frame
const RotPhitoLocalRotation () const
 rotate position in line frame into local frame

Private Attributes

RotPhi m_toLineRot {0.}
RotPhi m_toLocalRot {0.}
LocVec2D m_shift {0., 0.}

Detailed Description

Definition at line 15 of file TransformToLine.h.

Constructor & Destructor Documentation

◆ TransformToLine() [1/2]

TrkDriftCircleMath::TransformToLine::TransformToLine ( )
default

◆ TransformToLine() [2/2]

TrkDriftCircleMath::TransformToLine::TransformToLine ( const Line & line)
inline

Member Function Documentation

◆ set()

void TrkDriftCircleMath::TransformToLine::set ( const Line & line)
inline

Definition at line 28 of file TransformToLine.h.

28 {
29 m_toLineRot.set(line.phi());
30 m_toLocalRot.set(-line.phi());
31 m_shift.setX(line.x0());
32 m_shift.setY(line.y0());
33 }

◆ toLine() [1/2]

DriftCircle TrkDriftCircleMath::TransformToLine::toLine ( const DriftCircle & dc) const
inline

Definition at line 35 of file TransformToLine.h.

35 {
36 return DriftCircle(toLine(dc.position()), dc.r(), dc.dr(), dc.driftState(), dc.id(), dc.rot(), dc.index());
37 }
LocVec2D toLine(const LocVec2D &pos) const

◆ toLine() [2/2]

LocVec2D TrkDriftCircleMath::TransformToLine::toLine ( const LocVec2D & pos) const
inline

Definition at line 20 of file TransformToLine.h.

◆ toLineRotation()

const RotPhi & TrkDriftCircleMath::TransformToLine::toLineRotation ( ) const
inline

rotate local position into line frame

Definition at line 43 of file TransformToLine.h.

43{ return m_toLineRot; }

◆ toLineX()

double TrkDriftCircleMath::TransformToLine::toLineX ( const LocVec2D & pos) const
inline

only get one coordinate -> faster

Definition at line 23 of file TransformToLine.h.

23{ return m_toLineRot.xval(pos) - m_shift.x(); }

◆ toLineY()

double TrkDriftCircleMath::TransformToLine::toLineY ( const LocVec2D & pos) const
inline

Definition at line 24 of file TransformToLine.h.

24{ return m_toLineRot.yval(pos) - m_shift.y(); }

◆ toLocal() [1/2]

DriftCircle TrkDriftCircleMath::TransformToLine::toLocal ( const DriftCircle & dc) const
inline

Definition at line 38 of file TransformToLine.h.

38 {
39 return DriftCircle(toLocal(dc.position()), dc.r(), dc.dr(), dc.driftState(), dc.id(), dc.rot(), dc.index());
40 }
LocVec2D toLocal(const LocVec2D &pos) const

◆ toLocal() [2/2]

LocVec2D TrkDriftCircleMath::TransformToLine::toLocal ( const LocVec2D & pos) const
inline

Definition at line 26 of file TransformToLine.h.

26{ return m_toLocalRot * (pos + m_shift); }

◆ toLocalRotation()

const RotPhi & TrkDriftCircleMath::TransformToLine::toLocalRotation ( ) const
inline

rotate position in line frame into local frame

Definition at line 46 of file TransformToLine.h.

46{ return m_toLocalRot; }

Member Data Documentation

◆ m_shift

LocVec2D TrkDriftCircleMath::TransformToLine::m_shift {0., 0.}
private

Definition at line 51 of file TransformToLine.h.

51{0., 0.};

◆ m_toLineRot

RotPhi TrkDriftCircleMath::TransformToLine::m_toLineRot {0.}
private

Definition at line 49 of file TransformToLine.h.

49{0.};

◆ m_toLocalRot

RotPhi TrkDriftCircleMath::TransformToLine::m_toLocalRot {0.}
private

Definition at line 50 of file TransformToLine.h.

50{0.};

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