ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkFitter
TrkGaussianSumFilter
TrkGaussianSumFilter
GSFTsos.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
11
12
#ifndef TrkGsfTsos_H
13
#define TrkGsfTsos_H
14
15
#include "
TrkTrack/MultiComponentStateOnSurface.h
"
16
17
struct
GSFTsos
{
18
19
// Full state
20
Trk::MultiComponentState
multiComponentState
{};
21
// Collapsed to single Parameters state
22
std::unique_ptr<Trk::TrackParameters>
trackParameters
{};
23
// Measurement
24
std::unique_ptr<Trk::MeasurementBase>
measurementOnTrack
{};
25
// FitQuality
26
Trk::FitQualityOnSurface
fitQualityOnSurface
{};
27
// Type of TSOS
28
std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>
29
typeFlags
{};
30
31
// default move, move assignment and dtor
32
GSFTsos
() =
default
;
33
GSFTsos
&
operator=
(
GSFTsos
&&) =
default
;
34
GSFTsos
(
GSFTsos
&&) =
default
;
35
~GSFTsos
() =
default
;
36
37
// implement copy and copy assignment
38
GSFTsos
(
const
GSFTsos
& rhs) =
delete
;
39
GSFTsos
&
operator=
(
const
GSFTsos
& rhs) =
delete
;
40
41
// Full constructor with passing of type flags
42
GSFTsos
(
43
const
Trk::FitQualityOnSurface
& inFitQualityOnSurface,
44
std::unique_ptr<Trk::MeasurementBase> inMeasurementBase,
45
std::unique_ptr<Trk::TrackParameters> inTrackParameters,
46
Trk::MultiComponentState
&& inMultiComponentState,
47
const
std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>& inTypeFlags)
48
:
multiComponentState
(
std
::move(inMultiComponentState)),
49
trackParameters
(
std
::move(inTrackParameters)),
50
measurementOnTrack
(
std
::move(inMeasurementBase)),
51
fitQualityOnSurface
(inFitQualityOnSurface),
52
typeFlags
(inTypeFlags) {}
53
54
// constructor with automatic setting of type flags
55
GSFTsos
(
const
Trk::FitQualityOnSurface
& inFitQualityOnSurface,
56
std::unique_ptr<Trk::MeasurementBase> inMeasurementBase,
57
std::unique_ptr<Trk::TrackParameters> inTrackParameters,
58
Trk::MultiComponentState
&& inMultiComponentState)
59
:
multiComponentState
(
std
::move(inMultiComponentState)),
60
trackParameters
(
std
::move(inTrackParameters)),
61
measurementOnTrack
(
std
::move(inMeasurementBase)),
62
fitQualityOnSurface
(inFitQualityOnSurface) {
63
if
(
measurementOnTrack
) {
64
typeFlags
.set(
Trk::TrackStateOnSurface::Measurement
);
65
}
66
if
(!
multiComponentState
.empty()) {
67
typeFlags.set(Trk::TrackStateOnSurface::Parameter);
68
}
69
if
(
fitQualityOnSurface
) {
70
typeFlags
.set(
Trk::TrackStateOnSurface::FitQuality
);
71
}
72
}
73
// convert pass ownership to MTSOS
74
std::unique_ptr<const Trk::MultiComponentStateOnSurface>
convert
(
bool
slim) {
75
if
(!
trackParameters
) {
76
trackParameters
=
multiComponentState
.front().params->uniqueClone();
77
}
78
if
(slim) {
79
multiComponentState
.clear();
80
}
81
return
std::make_unique<const Trk::MultiComponentStateOnSurface>(
82
fitQualityOnSurface
, std::move(
measurementOnTrack
),
83
std::move(
trackParameters
), std::move(
multiComponentState
),
nullptr
,
84
typeFlags
);
85
}
86
};
87
88
#endif
MultiComponentStateOnSurface.h
if
if(pathvar)
Definition
SealSharedLib.cxx:168
Trk::FitQualityOnSurface
Definition
FitQualityOnSurface.h:19
Trk::TrackStateOnSurface::Measurement
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
Definition
TrackStateOnSurface.h:101
Trk::TrackStateOnSurface::FitQuality
@ FitQuality
This TSOS contains a Trk::FitQualityOnSurface.
Definition
TrackStateOnSurface.h:145
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition
ComponentParameters.h:27
std
STL namespace.
GSFTsos::fitQualityOnSurface
Trk::FitQualityOnSurface fitQualityOnSurface
Definition
GSFTsos.h:26
GSFTsos::GSFTsos
GSFTsos(const Trk::FitQualityOnSurface &inFitQualityOnSurface, std::unique_ptr< Trk::MeasurementBase > inMeasurementBase, std::unique_ptr< Trk::TrackParameters > inTrackParameters, Trk::MultiComponentState &&inMultiComponentState, const std::bitset< Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes > &inTypeFlags)
Definition
GSFTsos.h:42
GSFTsos::multiComponentState
Trk::MultiComponentState multiComponentState
Definition
GSFTsos.h:20
GSFTsos::GSFTsos
GSFTsos()=default
GSFTsos::GSFTsos
GSFTsos(const GSFTsos &rhs)=delete
GSFTsos::trackParameters
std::unique_ptr< Trk::TrackParameters > trackParameters
Definition
GSFTsos.h:22
GSFTsos::typeFlags
std::bitset< Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes > typeFlags
Definition
GSFTsos.h:29
GSFTsos::GSFTsos
GSFTsos(GSFTsos &&)=default
GSFTsos::convert
std::unique_ptr< const Trk::MultiComponentStateOnSurface > convert(bool slim)
Definition
GSFTsos.h:74
GSFTsos::measurementOnTrack
std::unique_ptr< Trk::MeasurementBase > measurementOnTrack
Definition
GSFTsos.h:24
GSFTsos::GSFTsos
GSFTsos(const Trk::FitQualityOnSurface &inFitQualityOnSurface, std::unique_ptr< Trk::MeasurementBase > inMeasurementBase, std::unique_ptr< Trk::TrackParameters > inTrackParameters, Trk::MultiComponentState &&inMultiComponentState)
Definition
GSFTsos.h:55
GSFTsos::operator=
GSFTsos & operator=(const GSFTsos &rhs)=delete
GSFTsos::operator=
GSFTsos & operator=(GSFTsos &&)=default
GSFTsos::~GSFTsos
~GSFTsos()=default
Generated on
for ATLAS Offline Software by
1.17.0