ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::AlignmentEffectsOnTrack Class Reference

Class to represent misalignments or 'discontinuities' on tracks These have a surface where the z axis is aligned with the direction of the translation, and the angle of the rotation is with respect to this. More...

#include <AlignmentEffectsOnTrack.h>

Inheritance diagram for Trk::AlignmentEffectsOnTrack:
Collaboration diagram for Trk::AlignmentEffectsOnTrack:

Public Member Functions

 AlignmentEffectsOnTrack (double deltaTranslation, double m_sigmaDeltaTranslation, double deltaAngle, double sigmaDeltaAngle, const std::vector< Identifier > &identifiersOfAffectedTSOS, const Trk::Surface &surf)
 AlignmentEffectsOnTrack (const Trk::AlignmentEffectsOnTrack &rhs)=default
Trk::AlignmentEffectsOnTrackoperator= (const Trk::AlignmentEffectsOnTrack &rhs)=default
 AlignmentEffectsOnTrack (Trk::AlignmentEffectsOnTrack &&rhs) noexcept=default
Trk::AlignmentEffectsOnTrackoperator= (Trk::AlignmentEffectsOnTrack &&rhs) noexcept=default
 ~AlignmentEffectsOnTrack ()=default
double deltaTranslation () const
 returns the \( \Delta X \)
double sigmaDeltaTranslation () const
 returns the \( \sigma\Delta X \)
double deltaAngle () const
 returns the \( \Delta \alpha \)
double sigmaDeltaAngle () const
 returns the \( \sigma\Delta \alpha \)
const std::vector< Identifier > & vectorOfAffectedTSOS () const
 Returns a vector of the affected TSOS in the track.
void updateVectorOfAffectedTSOS (std::vector< Identifier > &)
 Updates the vector of the affected TSOS in the track.
bool effectsLastFromNowOn () const
 Returns true if the effects of this AlignmentEffectsOnTrack apply to all remaining TrackStatesOnSurface of the Track.
const Trk::SurfaceassociatedSurface () const
 The surface on which this offset is expressed.
void destroySurface () noexcept
 destroySurface deletes the ptr if not null and the surface isFree Usefull also for testing
const SurfacesurfacePtr ()
 return the ptr we hold useful for tests
const Surfacerelease () noexcept
 release ala unique_ptr release

Static Public Member Functions

static const SurfacecloneHelper (const Surface *input)
 Helper for cloning or not when we need depending on if the surface isFree.

Protected Attributes

const Surfacem_associatedSurface

Private Attributes

double m_deltaTranslation {0.}
double m_sigmaDeltaTranslation {0.}
double m_deltaAngle {0.}
double m_sigmaDeltaAngle {0.}
std::vector< Identifierm_affectedTSOS

Detailed Description

Class to represent misalignments or 'discontinuities' on tracks These have a surface where the z axis is aligned with the direction of the translation, and the angle of the rotation is with respect to this.

Definition at line 23 of file AlignmentEffectsOnTrack.h.

Constructor & Destructor Documentation

◆ AlignmentEffectsOnTrack() [1/3]

Trk::AlignmentEffectsOnTrack::AlignmentEffectsOnTrack ( double deltaTranslation,
double m_sigmaDeltaTranslation,
double deltaAngle,
double sigmaDeltaAngle,
const std::vector< Identifier > & identifiersOfAffectedTSOS,
const Trk::Surface & surf )

◆ AlignmentEffectsOnTrack() [2/3]

Trk::AlignmentEffectsOnTrack::AlignmentEffectsOnTrack ( const Trk::AlignmentEffectsOnTrack & rhs)
default

◆ AlignmentEffectsOnTrack() [3/3]

Trk::AlignmentEffectsOnTrack::AlignmentEffectsOnTrack ( Trk::AlignmentEffectsOnTrack && rhs)
defaultnoexcept

◆ ~AlignmentEffectsOnTrack()

Trk::AlignmentEffectsOnTrack::~AlignmentEffectsOnTrack ( )
default

Member Function Documentation

◆ associatedSurface()

const Trk::Surface & Trk::AlignmentEffectsOnTrack::associatedSurface ( ) const
inline

The surface on which this offset is expressed.

Definition at line 128 of file AlignmentEffectsOnTrack.h.

129{
130 return *m_associatedSurface;
131}

◆ cloneHelper()

const Surface * Trk::SurfacePtrHolderImpl< Surface >::cloneHelper ( const Surface * input)
inlinestaticinherited

Helper for cloning or not when we need depending on if the surface isFree.

Definition at line 124 of file SurfaceHolderImpl.h.

125 {
126 return (input && input->isFree() ? input->clone() : input);
127 }

◆ deltaAngle()

double Trk::AlignmentEffectsOnTrack::deltaAngle ( ) const
inline

returns the \( \Delta \alpha \)

Definition at line 103 of file AlignmentEffectsOnTrack.h.

104{
105 return m_deltaAngle;
106}

◆ deltaTranslation()

double Trk::AlignmentEffectsOnTrack::deltaTranslation ( ) const
inline

returns the \( \Delta X \)

Definition at line 91 of file AlignmentEffectsOnTrack.h.

92{
93 return m_deltaTranslation;
94}

◆ destroySurface()

void Trk::SurfacePtrHolderImpl< Surface >::destroySurface ( )
inlinenoexceptinherited

destroySurface deletes the ptr if not null and the surface isFree Usefull also for testing

Definition at line 105 of file SurfaceHolderImpl.h.

106 {
107 if (m_associatedSurface && m_associatedSurface->isFree()) {
108 delete m_associatedSurface;
109 }
110 //
111 m_associatedSurface = nullptr;
112 }

◆ effectsLastFromNowOn()

bool Trk::AlignmentEffectsOnTrack::effectsLastFromNowOn ( ) const
inline

Returns true if the effects of this AlignmentEffectsOnTrack apply to all remaining TrackStatesOnSurface of the Track.

Definition at line 68 of file AlignmentEffectsOnTrack.h.

68{ return m_affectedTSOS.empty(); }

◆ operator=() [1/2]

Trk::AlignmentEffectsOnTrack & Trk::AlignmentEffectsOnTrack::operator= ( const Trk::AlignmentEffectsOnTrack & rhs)
default

◆ operator=() [2/2]

Trk::AlignmentEffectsOnTrack & Trk::AlignmentEffectsOnTrack::operator= ( Trk::AlignmentEffectsOnTrack && rhs)
defaultnoexcept

◆ release()

const Surface * Trk::SurfacePtrHolderImpl< Surface >::release ( )
inlinenoexceptinherited

release ala unique_ptr release

Definition at line 116 of file SurfaceHolderImpl.h.

117 {
118 const S* tmp = m_associatedSurface;
119 m_associatedSurface = nullptr;
120 return tmp;
121 }

◆ sigmaDeltaAngle()

double Trk::AlignmentEffectsOnTrack::sigmaDeltaAngle ( ) const
inline

returns the \( \sigma\Delta \alpha \)

Definition at line 109 of file AlignmentEffectsOnTrack.h.

110{
111 return m_sigmaDeltaAngle;
112}

◆ sigmaDeltaTranslation()

double Trk::AlignmentEffectsOnTrack::sigmaDeltaTranslation ( ) const
inline

returns the \( \sigma\Delta X \)

Definition at line 97 of file AlignmentEffectsOnTrack.h.

98{
100}

◆ surfacePtr()

const Surface * Trk::SurfacePtrHolderImpl< Surface >::surfacePtr ( )
inlineinherited

return the ptr we hold useful for tests

Definition at line 114 of file SurfaceHolderImpl.h.

114{ return m_associatedSurface; }

◆ updateVectorOfAffectedTSOS()

void Trk::AlignmentEffectsOnTrack::updateVectorOfAffectedTSOS ( std::vector< Identifier > & affectedTSOS)
inline

Updates the vector of the affected TSOS in the track.

Definition at line 121 of file AlignmentEffectsOnTrack.h.

123{
124 m_affectedTSOS = affectedTSOS;
125}

◆ vectorOfAffectedTSOS()

const std::vector< Identifier > & Trk::AlignmentEffectsOnTrack::vectorOfAffectedTSOS ( ) const
inline

Returns a vector of the affected TSOS in the track.

Obviously this must not be invalidated by removing TSOS from the track.

Definition at line 115 of file AlignmentEffectsOnTrack.h.

116{
117 return m_affectedTSOS;
118}

Member Data Documentation

◆ m_affectedTSOS

std::vector<Identifier> Trk::AlignmentEffectsOnTrack::m_affectedTSOS
private

Definition at line 78 of file AlignmentEffectsOnTrack.h.

◆ m_associatedSurface

const Surface* Trk::SurfacePtrHolderImpl< Surface >::m_associatedSurface
protectedinherited

Definition at line 130 of file SurfaceHolderImpl.h.

◆ m_deltaAngle

double Trk::AlignmentEffectsOnTrack::m_deltaAngle {0.}
private

Definition at line 76 of file AlignmentEffectsOnTrack.h.

76{0.};

◆ m_deltaTranslation

double Trk::AlignmentEffectsOnTrack::m_deltaTranslation {0.}
private

Definition at line 74 of file AlignmentEffectsOnTrack.h.

74{0.};

◆ m_sigmaDeltaAngle

double Trk::AlignmentEffectsOnTrack::m_sigmaDeltaAngle {0.}
private

Definition at line 77 of file AlignmentEffectsOnTrack.h.

77{0.};

◆ m_sigmaDeltaTranslation

double Trk::AlignmentEffectsOnTrack::m_sigmaDeltaTranslation {0.}
private

Definition at line 75 of file AlignmentEffectsOnTrack.h.

75{0.};

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