11#include "GaudiKernel/MsgStream.h"
76 itTSoS != itTSoSEnd; ++itTSoS) {
77 assert(*itTSoS !=
nullptr);
89 if (perigee !=
nullptr) {
144 for (; it != itEnd; ++it) {
149 tmpPerigeeParameters =
static_cast<const Trk::Perigee*
>(tp);
152 if (tmpPerigeeParameters !=
nullptr) {
158 if (tmpPerigeeParameters) {
199 if (rot !=
nullptr) {
224 assert(rot !=
nullptr);
236 std::string name(
"Track ");
237 sl << name <<
"Author = " << track.info().dumpInfo() <<
endmsg;
238 if (track.fitQuality() !=
nullptr) {
239 sl << *(track.fitQuality()) <<
endmsg;
241 if (track.trackSummary() !=
nullptr) {
242 sl << *(track.trackSummary()) <<
endmsg;
244 sl <<
"No TrackSummary available in this track." <<
endmsg;
246 if (track.trackStateOnSurfaces() !=
nullptr) {
247 sl << name <<
"has " << (track.trackStateOnSurfaces()->size())
248 <<
" trackStateOnSurface(s)" <<
endmsg;
252 if (sl.level() < MSG::INFO) {
255 track.trackStateOnSurfaces()->cbegin();
257 for (; it != track.trackStateOnSurfaces()->cend(); ++it) {
258 sl <<
" --------- Start of TrackStateOnSurface \t" << num <<
"\t-------"
261 sl <<
" --------- End of TrackStateOnSurface \t" << num++
270 std::string name(
"Track ");
271 sl << name <<
"Author = " << track.info().dumpInfo() << std::endl;
272 if (track.fitQuality() !=
nullptr) {
273 sl << *(track.fitQuality()) << std::endl;
275 if (track.trackSummary() !=
nullptr) {
276 sl << *(track.trackSummary()) << std::endl;
278 sl <<
"No TrackSummary available in this track." << std::endl;
281 if (track.trackStateOnSurfaces() !=
nullptr) {
282 sl << name <<
"has " << (track.trackStateOnSurfaces()->size())
283 <<
" trackStateOnSurface(s)" << std::endl;
285 track.trackStateOnSurfaces()->cbegin();
287 for (; it != track.trackStateOnSurfaces()->cend(); ++it) {
288 sl <<
" --------- Start of TrackStateOnSurface \t" << num <<
"\t-------"
291 sl <<
" --------- End of TrackStateOnSurface \t" << num++ <<
"\t-------"
DataModel_detail::const_iterator< DataVector > const_iterator
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
This class is the pure abstract base class for all fittable tracking measurements.
Contains information about the 'fitter' of this track.
represents the track state (measurement, material, fit parameters and quality) at a surface.
virtual TrackStateOnSurface * clone() const
Pseudo-constructor: needed to avoid excessive RTTI.
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
bool type(const TrackStateOnSurfaceType type) const
Use this method to find out if the TSoS is of a certain type: i.e.
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
CxxUtils::CachedValue< DataVector< const TrackParameters > > m_cachedParameterVector
A vector of TrackParameters: these can be any of the classes that derive from Trk::TrackParameters,...
Track()=default
Default constructor Here for POOL and simple tests.
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedMeasurementVector
A vector of MeasurementBase: these objects represent the "hits" on the track (but not outliers - see ...
std::unique_ptr< Trk::TrackSummary > m_trackSummary
Datamember to cache the TrackSummary.
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
const DataVector< const TrackParameters > * trackParameters() const
Return a pointer to a vector of TrackParameters.
Trk::TrackInfo m_trackInfo
This is a class which stores the identity of where the track was created, fitted, which properties th...
void resetCaches()
reset all caches
void findPerigeeImpl() const
find PerigeeImpl.
Trk::TrackStates::const_iterator TSoS_iterator
const TrackInfo & info() const
Returns a const ref to info of a const tracks.
const Perigee * perigeeParameters() const
return Perigee.
Track & operator=(const Track &rhs)
assignment operator
std::unique_ptr< TrackStates > m_trackStateVector
TrackStateOnSurface.
CxxUtils::CachedValue< DataVector< const MeasurementBase > > m_cachedOutlierVector
These objects represent the "outliers" on the track.
const DataVector< const MeasurementBase > * outliersOnTrack() const
return a pointer to a vector of MeasurementBase, which represent outliers (i.e.
CxxUtils::CachedValue< const Perigee * > m_perigeeParameters
A pointer to the Track's Perigee parameters.
std::unique_ptr< FitQuality > m_fitQuality
A pointer to the Track's FitQuality.
void copyHelper(const Track &rhs)
Helper method to factor common part of copy ctor and copy assignment.
const Trk::TrackSummary * trackSummary() const
Returns a pointer to the const Trk::TrackSummary owned by this const track (could be nullptr)
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
void findPerigee() const
Find perigee in the vector of track parameters.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
ParametersBase< TrackParametersDim, Charged > TrackParameters