ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | List of all members
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 \) More...
 
double sigmaDeltaTranslation () const
 returns the \( \sigma\Delta X \) More...
 
double deltaAngle () const
 returns the \( \Delta \alpha \) More...
 
double sigmaDeltaAngle () const
 returns the \( \sigma\Delta \alpha \) More...
 
const std::vector< Identifier > & vectorOfAffectedTSOS () const
 Returns a vector of the affected TSOS in the track. More...
 
void updateVectorOfAffectedTSOS (std::vector< Identifier > &)
 Updates the vector of the affected TSOS in the track. More...
 
bool effectsLastFromNowOn () const
 Returns true if the effects of this AlignmentEffectsOnTrack apply to all remaining TrackStatesOnSurface of the Track. More...
 
const Trk::SurfaceassociatedSurface () const
 The surface on which this offset is expressed. More...
 
void destroySurface () noexcept
 destroySurface deletes the ptr if not null and the surface isFree Usefull also for testing More...
 
const S * surfacePtr ()
 return the ptr we hold useful for tests More...
 
const S * release () noexcept
 release ala unique_ptr release More...
 

Static Public Member Functions

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

Protected Attributes

const S * m_associatedSurface = nullptr
 

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()

template<typename S >
static const S* Trk::SurfacePtrHolderImpl< S >::cloneHelper ( const S *  input)
inlinestaticinherited

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

Definition at line 147 of file SurfaceHolderImpl.h.

148  {
149  return (input && input->isFree() ? input->clone() : input);
150  }

◆ 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()

template<typename S >
void Trk::SurfacePtrHolderImpl< S >::destroySurface ( )
inlinenoexceptinherited

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

Definition at line 128 of file SurfaceHolderImpl.h.

129  {
130  if (m_associatedSurface && m_associatedSurface->isFree()) {
131  delete m_associatedSurface;
132  }
133  //
134  m_associatedSurface = nullptr;
135  }

◆ 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()

template<typename S >
const S* Trk::SurfacePtrHolderImpl< S >::release ( )
inlinenoexceptinherited

release ala unique_ptr release

Definition at line 139 of file SurfaceHolderImpl.h.

140  {
141  const S* tmp = m_associatedSurface;
142  m_associatedSurface = nullptr;
143  return tmp;
144  }

◆ 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()

template<typename S >
const S* Trk::SurfacePtrHolderImpl< S >::surfacePtr ( )
inlineinherited

return the ptr we hold useful for tests

Definition at line 137 of file SurfaceHolderImpl.h.

137 { 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

template<typename S >
const S* Trk::SurfacePtrHolderImpl< S >::m_associatedSurface = nullptr
protectedinherited

Definition at line 153 of file SurfaceHolderImpl.h.

◆ m_deltaAngle

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

Definition at line 76 of file AlignmentEffectsOnTrack.h.

◆ m_deltaTranslation

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

Definition at line 74 of file AlignmentEffectsOnTrack.h.

◆ m_sigmaDeltaAngle

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

Definition at line 77 of file AlignmentEffectsOnTrack.h.

◆ m_sigmaDeltaTranslation

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

Definition at line 75 of file AlignmentEffectsOnTrack.h.


The documentation for this class was generated from the following files:
Trk::AlignmentEffectsOnTrack::m_affectedTSOS
std::vector< Identifier > m_affectedTSOS
Definition: AlignmentEffectsOnTrack.h:78
Trk::SurfacePtrHolder
SurfacePtrHolderImpl< Surface > SurfacePtrHolder
Definition: SurfaceHolders.h:25
Trk::AlignmentEffectsOnTrack::m_deltaAngle
double m_deltaAngle
Definition: AlignmentEffectsOnTrack.h:76
Trk::AlignmentEffectsOnTrack::deltaAngle
double deltaAngle() const
returns the
Definition: AlignmentEffectsOnTrack.h:103
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
Trk::AlignmentEffectsOnTrack::m_deltaTranslation
double m_deltaTranslation
Definition: AlignmentEffectsOnTrack.h:74
Trk::AlignmentEffectsOnTrack::m_sigmaDeltaAngle
double m_sigmaDeltaAngle
Definition: AlignmentEffectsOnTrack.h:77
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
Trk::SurfacePtrHolderImpl::m_associatedSurface
const S * m_associatedSurface
Definition: SurfaceHolderImpl.h:153
Trk::AlignmentEffectsOnTrack::m_sigmaDeltaTranslation
double m_sigmaDeltaTranslation
Definition: AlignmentEffectsOnTrack.h:75
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
Trk::AlignmentEffectsOnTrack::sigmaDeltaTranslation
double sigmaDeltaTranslation() const
returns the
Definition: AlignmentEffectsOnTrack.h:97
Trk::AlignmentEffectsOnTrack::deltaTranslation
double deltaTranslation() const
returns the
Definition: AlignmentEffectsOnTrack.h:91
Trk::AlignmentEffectsOnTrack::sigmaDeltaAngle
double sigmaDeltaAngle() const
returns the
Definition: AlignmentEffectsOnTrack.h:109