ATLAS Offline Software
Loading...
Searching...
No Matches
AlignmentEffectsOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKTRACK_ALIGNMENTEFFECTSONTRACK_H
6#define TRKTRACK_ALIGNMENTEFFECTSONTRACK_H
7
8#include "Identifier/Identifier.h"
10#include <iostream>
11#include <vector>
12
13class MsgStream;
14
15namespace Trk {
16
17class Surface;
19
24{
25public:
27 double deltaTranslation,
29 double deltaAngle,
30 double sigmaDeltaAngle,
31 const std::vector<Identifier>& identifiersOfAffectedTSOS,
32 const Trk::Surface& surf);
33
35
37 const Trk::AlignmentEffectsOnTrack& rhs) = default;
38
40 default;
41
43 Trk::AlignmentEffectsOnTrack&& rhs) noexcept = default;
44
46
48 double deltaTranslation() const;
49
51 double sigmaDeltaTranslation() const;
52
54 double deltaAngle() const;
55
57 double sigmaDeltaAngle() const;
58
61 const std::vector<Identifier>& vectorOfAffectedTSOS() const;
62
64 void updateVectorOfAffectedTSOS(std::vector<Identifier>&);
65
68 bool effectsLastFromNowOn() const { return m_affectedTSOS.empty(); }
69
71 const Trk::Surface& associatedSurface() const;
72
73private:
76 double m_deltaAngle{0.};
78 std::vector<Identifier> m_affectedTSOS;
79};
80
82MsgStream&
83operator<<(MsgStream& sl, const AlignmentEffectsOnTrack& tsos);
84
86std::ostream&
87operator<<(std::ostream& sl, const AlignmentEffectsOnTrack& tsos);
88}
89
90inline double
95
96inline double
101
102inline double
107
108inline double
113
114inline const std::vector<Identifier>&
119
120inline void
122 std::vector<Identifier>& affectedTSOS)
123{
124 m_affectedTSOS = affectedTSOS;
125}
126
127inline const Trk::Surface&
132
133#endif
Class to represent misalignments or 'discontinuities' on tracks These have a surface where the z axis...
double sigmaDeltaAngle() const
returns the
const std::vector< Identifier > & vectorOfAffectedTSOS() const
Returns a vector of the affected TSOS in the track.
AlignmentEffectsOnTrack(const Trk::AlignmentEffectsOnTrack &rhs)=default
AlignmentEffectsOnTrack(Trk::AlignmentEffectsOnTrack &&rhs) noexcept=default
bool effectsLastFromNowOn() const
Returns true if the effects of this AlignmentEffectsOnTrack apply to all remaining TrackStatesOnSurfa...
Trk::AlignmentEffectsOnTrack & operator=(Trk::AlignmentEffectsOnTrack &&rhs) noexcept=default
std::vector< Identifier > m_affectedTSOS
double deltaAngle() const
returns the
double sigmaDeltaTranslation() const
returns the
double deltaTranslation() const
returns the
void updateVectorOfAffectedTSOS(std::vector< Identifier > &)
Updates the vector of the affected TSOS in the track.
Trk::AlignmentEffectsOnTrack & operator=(const Trk::AlignmentEffectsOnTrack &rhs)=default
const Trk::Surface & associatedSurface() const
The surface on which this offset is expressed.
AlignmentEffectsOnTrack(double deltaTranslation, double m_sigmaDeltaTranslation, double deltaAngle, double sigmaDeltaAngle, const std::vector< Identifier > &identifiersOfAffectedTSOS, const Trk::Surface &surf)
Abstract Base Class for tracking surfaces.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
SurfacePtrHolderImpl< Surface > SurfacePtrHolder