ATLAS Offline Software
Loading...
Searching...
No Matches
AlignTSOS.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRKALIGNEVENT_ALIGNTSOS_H
6#define TRKALIGNEVENT_ALIGNTSOS_H
7
10#include "Identifier/Identifier.h"
12
13#include <vector>
14
25
26namespace CLHEP {
27 class HepVector;
28}
29
30namespace Trk {
31
32 class CompetingRIOsOnTrack;
33 class RIO_OnTrack;
34 class AlignModule;
35 class TrkDetElementBase;
36
38
39 public:
40
49 const RIO_OnTrack * rio,
51
55
56 AlignTSOS(const TrackStateOnSurface& tsos,
58
60 AlignTSOS(const AlignTSOS& atsos);
61
63 virtual ~AlignTSOS();
64
66 AlignTSOS& operator=(const AlignTSOS& atsos);
67
69 const AlignModule* module() const { return m_module; }
71
73 void setValid(bool isvalid) { m_isvalid=isvalid; }
74 bool isValid() const { return m_isvalid; }
75
77 int nResDim() const { return m_residuals.size(); }
78
81
83 Identifier identify() const;
84
86 const RIO_OnTrack* rio() const;
87
90
92 const CompetingRIOsOnTrack* crio() const { return m_crio; }
93
95 void addResidual(const Residual& residual) { m_residuals.push_back(residual); }
96
98 const std::vector<Residual>& residuals() const { return m_residuals; }
99
101 void clearResiduals() { m_residuals.clear(); }
102
104 std::vector<Residual>::const_iterator firstResidual() const { return m_residuals.begin(); }
105
107 std::vector<Residual>::const_iterator lastResidual() const { return m_residuals.end(); }
108
110 const TrkDetElementBase* detelement(int i=0) const { return m_detelements[i]; }
111
113 int nDetElements() const { return m_detelements.size(); }
114
116 std::string dumpMeasType() const;
117
119 void setAlphaStrip(double alpha) { m_alphaStrip = alpha; }
120
122 double alphaStrip() const { return m_alphaStrip; }
123
126
128 Trk::ParamDefs measDir() const { return m_measDir; }
129
131 std::string dumpMeasDir() const;
132
135
137 void setUnbiasedTrackPars(const TrackParameters * trkPars) { m_unbiasedTrackPars = trkPars; }
138
140 const std::vector<Amg::VectorX> * derivatives() const { return m_derivatives; }
141
143 const std::vector<Amg::VectorX> * derivativesVtx() const { return m_derivativesVtx; }
144
146 void setDerivatives(std::vector<Amg::VectorX> * derivs) { m_derivatives = derivs; }
147
149 void setDerivativesVtx(std::vector<Amg::VectorX> * derivs) { m_derivativesVtx = derivs; }
150
151 virtual TrackStateOnSurface::Variety variety() const override final {
153 }
154 private:
155 // private methods
156 AlignTSOS(); // don't use this one
157
158 // private variables
162
164
165 std::vector<Residual> m_residuals;
166
167 std::vector<const TrkDetElementBase *> m_detelements;
168
169 std::vector<Amg::VectorX> * m_derivatives;
170
172
174
176
178
179 std::vector<Amg::VectorX> * m_derivativesVtx;
180
181 }; // end class
182
184 MsgStream& operator << ( MsgStream& sl, const AlignTSOS& atsos);
185
186} // end namespace
187
188#endif // TRKALIGNEVENT_ALIGNTSOS_H
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
int nDetElements() const
method for retrieving number of detector elements
Definition AlignTSOS.h:113
double m_alphaStrip
Definition AlignTSOS.h:177
void setMeasDir(Trk::ParamDefs dir)
set the measurement direction
Definition AlignTSOS.h:125
const RIO_OnTrack * rio() const
returns RIO_OnTrack or leading RIO of CompetingRIOsOnTrack (assigned by c'tor)
AlignModule * module()
Definition AlignTSOS.h:70
double alphaStrip() const
returns strip angle for fan-out structured modules (SCT endcap)
Definition AlignTSOS.h:122
TrackState::MeasurementType m_measType
Definition AlignTSOS.h:173
const std::vector< Amg::VectorX > * derivativesVtx() const
returns pointer to vector of derivatives w.r.t.
Definition AlignTSOS.h:143
std::vector< Residual >::const_iterator lastResidual() const
returns last Residual iterator
Definition AlignTSOS.h:107
virtual ~AlignTSOS()
destructor
Definition AlignTSOS.cxx:86
void setUnbiasedTrackPars(const TrackParameters *trkPars)
setter for unbiased track parameters
Definition AlignTSOS.h:137
void addResidual(const Residual &residual)
pushes back vector of Residuals to alignTSOS residuals
Definition AlignTSOS.h:95
AlignModule * m_module
Definition AlignTSOS.h:159
void setValid(bool isvalid)
set and retrieve flag to indicate whether hit valid for alignment
Definition AlignTSOS.h:73
AlignTSOS(const TrackStateOnSurface &tsos, AlignModule *module, const RIO_OnTrack *rio, TrackState::MeasurementType detType)
constructor takes: 1) the TSOS from the original track, 2) the AlignModule containing the TrkDetEleme...
Definition AlignTSOS.cxx:16
const TrackParameters * unbiasedTrackPars() const
returns pointer to unbiased track parameters if present
Definition AlignTSOS.h:134
virtual TrackStateOnSurface::Variety variety() const override final
Use this method to find if this is a Single, Multi or Align TrackStateOnsurface.
Definition AlignTSOS.h:151
const std::vector< Amg::VectorX > * derivatives() const
returns pointer to vector of derivatives
Definition AlignTSOS.h:140
std::vector< const TrkDetElementBase * > m_detelements
Definition AlignTSOS.h:167
std::string dumpMeasDir() const
returns string corresponding to the measurement direction
Trk::ParamDefs measDir() const
retrieve the measurement direction
Definition AlignTSOS.h:128
int nResDim() const
returns number of measurement residual + scatterer residual dimensions
Definition AlignTSOS.h:77
std::vector< Residual > m_residuals
Definition AlignTSOS.h:165
void setCompetingRIOsOnTrack(const CompetingRIOsOnTrack *crio)
sets CompetingRIOsOnTrack
Definition AlignTSOS.h:89
const CompetingRIOsOnTrack * m_crio
Definition AlignTSOS.h:161
void setAlphaStrip(double alpha)
returns strip angle for fan-out structured modules (SCT endcap)
Definition AlignTSOS.h:119
std::vector< Amg::VectorX > * m_derivativesVtx
Definition AlignTSOS.h:179
void setDerivativesVtx(std::vector< Amg::VectorX > *derivs)
setter for the derivatives w.r.t.
Definition AlignTSOS.h:149
AlignTSOS & operator=(const AlignTSOS &atsos)
asignment operator
const RIO_OnTrack * m_rio
Definition AlignTSOS.h:160
Identifier identify() const
returns Identifier of RIO
std::vector< Residual >::const_iterator firstResidual() const
returns first Residual iterator
Definition AlignTSOS.h:104
const CompetingRIOsOnTrack * crio() const
returns CompetingRIOsOnTrack
Definition AlignTSOS.h:92
Trk::ParamDefs m_measDir
direction of measurement (set to Trk::x by default)
Definition AlignTSOS.h:175
const std::vector< Residual > & residuals() const
returns vector of Residuals
Definition AlignTSOS.h:98
const AlignModule * module() const
accessor method for AlignModule to which tsos belongs
Definition AlignTSOS.h:69
std::string dumpMeasType() const
returns string corresponding to the measurement type
void setDerivatives(std::vector< Amg::VectorX > *derivs)
setter for the derivatives
Definition AlignTSOS.h:146
std::vector< Amg::VectorX > * m_derivatives
Definition AlignTSOS.h:169
const TrackParameters * m_unbiasedTrackPars
Definition AlignTSOS.h:163
bool isValid() const
Definition AlignTSOS.h:74
void clearResiduals()
clears vector of residuals
Definition AlignTSOS.h:101
const TrkDetElementBase * detelement(int i=0) const
method for retrieving detector elements (one if RIO, more if CRIO)
Definition AlignTSOS.h:110
TrackState::MeasurementType measType() const
returns measurement type enum
Definition AlignTSOS.h:80
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
TrackStateOnSurface()
Default ctor for POOL.
This is the base class for all tracking detector elements with read-out relevant information.
MeasurementType
enum describing the flavour of MeasurementBase
Ensure that the ATLAS eigen extensions are properly loaded.
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
ParamDefs
This file defines the parameter enums in the Trk namespace.
Definition ParamDefs.h:32
ParametersBase< TrackParametersDim, Charged > TrackParameters