ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEvent
TrkTrack
TrkTrack
MultiComponentStateOnSurface.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
/*******************************************************************************
6
MultiComponentStateOnSurface.h - description
7
-----------------------------------------------
8
begin : Monday 20th December 2004
9
author : atkinson, amorley,anastopoulos
10
description : This class is a multi component adaptation of the
11
class TrackStateOnSurface (from Moyse).
12
In that class the track state was represented
13
by a single 5 component track paramter
14
vector (a0, z0, phi0, theta0, q/p) and the associated
15
covariance matrix.
16
In its multi-component form the track
17
state on surface is represented by many track parameters
18
each with a covariance matrix and additionally a
19
weighting is attached to each component which reflects
20
the importance of that particular component in the
21
overall mixture of components which is used to describe
22
the track state at that surface.
23
*******************************************************************************/
24
25
#ifndef TrkMultiComponentStateOnSurface_H
26
#define TrkMultiComponentStateOnSurface_H
27
28
#include "
TrkEventPrimitives/FitQualityOnSurface.h
"
29
#include "
TrkParameters/ComponentParameters.h
"
30
#include "
TrkParameters/TrackParameters.h
"
31
#include "
TrkTrack/TrackStateOnSurface.h
"
32
#include <iostream>
33
34
class
MsgStream;
35
class
TrackCollectionCnv
;
36
class
TrackStateOnSurfaceCnv_p3
;
37
namespace
Trk
{
38
class
MaterialEffectsBase
;
39
class
MeasurementBase
;
40
41
class
MultiComponentStateOnSurface
final :
public
TrackStateOnSurface
42
{
43
44
friend
class ::TrackCollectionCnv;
45
friend
class ::TrackStateOnSurfaceCnv_p3;
46
47
public
:
49
MultiComponentStateOnSurface
();
50
54
MultiComponentStateOnSurface
(
55
const
FitQualityOnSurface
&,
56
std::unique_ptr<MeasurementBase>,
57
std::unique_ptr<TrackParameters>,
58
MultiComponentState
&&,
59
std::unique_ptr<MaterialEffectsBase>
materialEffectsOnTrack
=
nullptr
);
60
64
MultiComponentStateOnSurface
(
65
const
FitQualityOnSurface
&,
66
std::unique_ptr<MeasurementBase>,
67
std::unique_ptr<TrackParameters>,
68
MultiComponentState
&&,
69
std::unique_ptr<MaterialEffectsBase>,
70
const
std::bitset<NumberOfTrackStateOnSurfaceTypes>&
types
);
71
73
MultiComponentStateOnSurface
(
const
MultiComponentStateOnSurface
& other);
74
MultiComponentStateOnSurface
&
operator=
(
75
const
MultiComponentStateOnSurface
& other);
76
78
MultiComponentStateOnSurface
(
MultiComponentStateOnSurface
&& other)
noexcept
=
79
default
;
80
MultiComponentStateOnSurface
&
operator=
(
81
MultiComponentStateOnSurface
&& other)
noexcept
=
default
;
82
84
virtual
~MultiComponentStateOnSurface
() =
default
;
85
87
virtual
MultiComponentStateOnSurface
*
clone
()
const
override final;
88
90
virtual
TrackStateOnSurface
::
Variety
variety
()
const
override final;
91
93
const
MultiComponentState
&
components
()
const
;
94
97
MultiComponentState
&
components
();
98
99
private
:
100
MultiComponentState
m_multiComponentState
{};
101
};
102
104
MsgStream&
105
operator<<
(MsgStream&,
const
MultiComponentStateOnSurface&);
106
108
std::ostream&
109
operator<<
(std::ostream&,
const
MultiComponentStateOnSurface&);
110
111
}
// end of Trk namespace
112
116
#include "
AthContainers/DataVector.h
"
117
DATAVECTOR_BASE
(
const
Trk::MultiComponentStateOnSurface
,
118
const
Trk::TrackStateOnSurface
);
119
typedef
DataVector<const Trk::MultiComponentStateOnSurface>
120
MultiComponentStateOnSurfaceDV
;
121
122
#include "
TrkTrack/MultiComponentStateOnSurface.icc
"
123
#endif
ComponentParameters.h
Definition of component parameters for use in a mixture of many components. In this regime each track...
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
DATAVECTOR_BASE
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition
DataVector.h:649
FitQualityOnSurface.h
MultiComponentStateOnSurfaceDV
DataVector< const Trk::MultiComponentStateOnSurface > MultiComponentStateOnSurfaceDV
Definition
MultiComponentStateOnSurface.h:120
MultiComponentStateOnSurface.icc
TrackStateOnSurface.h
TrackParameters.h
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
TrackCollectionCnv
Definition
TrackCollectionCnv.h:47
TrackStateOnSurfaceCnv_p3
Definition
TrackStateOnSurfaceCnv_p3.h:28
Trk::FitQualityOnSurface
Definition
FitQualityOnSurface.h:19
Trk::MaterialEffectsBase
base class to integrate material effects on Trk::Track in a flexible way.
Definition
MaterialEffectsBase.h:35
Trk::MeasurementBase
This class is the pure abstract base class for all fittable tracking measurements.
Definition
MeasurementBase.h:58
Trk::MultiComponentStateOnSurface
Definition
MultiComponentStateOnSurface.h:42
Trk::MultiComponentStateOnSurface::operator=
MultiComponentStateOnSurface & operator=(MultiComponentStateOnSurface &&other) noexcept=default
Trk::MultiComponentStateOnSurface::m_multiComponentState
MultiComponentState m_multiComponentState
Definition
MultiComponentStateOnSurface.h:100
Trk::MultiComponentStateOnSurface::MultiComponentStateOnSurface
MultiComponentStateOnSurface(MultiComponentStateOnSurface &&other) noexcept=default
Move constructor and assignment.
Trk::MultiComponentStateOnSurface::clone
virtual MultiComponentStateOnSurface * clone() const override final
Clone method for deep copy of MultiComponentStateOnSurface.
Definition
MultiComponentStateOnSurface.cxx:80
Trk::MultiComponentStateOnSurface::operator=
MultiComponentStateOnSurface & operator=(const MultiComponentStateOnSurface &other)
Definition
MultiComponentStateOnSurface.cxx:68
Trk::MultiComponentStateOnSurface::MultiComponentStateOnSurface
MultiComponentStateOnSurface()
Default constructor for POOL.
Definition
MultiComponentStateOnSurface.cxx:14
Trk::MultiComponentStateOnSurface::components
const MultiComponentState & components() const
Method to return a referenceto the multi-component state const overload.
Trk::MultiComponentStateOnSurface::variety
virtual TrackStateOnSurface::Variety variety() const override final
This is Multi.
Trk::MultiComponentStateOnSurface::~MultiComponentStateOnSurface
virtual ~MultiComponentStateOnSurface()=default
Virtual destructor.
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition
TrackStateOnSurface.h:71
Trk::TrackStateOnSurface::types
const std::bitset< NumberOfTrackStateOnSurfaceTypes > types() const
returns a bitset with the types of this bitset.
Trk::TrackStateOnSurface::TrackStateOnSurface
TrackStateOnSurface()
Default ctor for POOL.
Trk::TrackStateOnSurface::Variety
Variety
Definition
TrackStateOnSurface.h:212
Trk::TrackStateOnSurface::materialEffectsOnTrack
const MaterialEffectsBase * materialEffectsOnTrack() const
return material effects const overload
const
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition
ComponentParameters.h:27
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition
AlignModule.cxx:204
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0