ATLAS Offline Software
MultiComponentStateOnSurface.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include "GaudiKernel/MsgStream.h"
11 #include <iostream>
12 #include <string>
13 
16  {},
17  nullptr,
18  nullptr,
19  nullptr,
20  std::bitset<TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>(
22  , m_multiComponentState{}
23 {
24 }
25 
27  const Trk::FitQualityOnSurface& fitQualityOnSurface,
28  std::unique_ptr<Trk::MeasurementBase> measurementBase,
29  std::unique_ptr<Trk::TrackParameters> trackParameters,
30  MultiComponentState&& multiComponentState,
31  std::unique_ptr<MaterialEffectsBase> materialEffectsOnTrack)
33  fitQualityOnSurface,
34  std::move(measurementBase),
35  std::move(trackParameters),
36  std::move(materialEffectsOnTrack),
37  std::bitset<TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>(
39  , m_multiComponentState(std::move(multiComponentState))
40 {
41 }
42 
44  const Trk::FitQualityOnSurface& fitQualityOnSurface,
45  std::unique_ptr<Trk::MeasurementBase> measurementBase,
46  std::unique_ptr<Trk::TrackParameters> trackParameters,
47  MultiComponentState&& multiComponentState,
48  std::unique_ptr<MaterialEffectsBase> materialEffectsOnTrack,
49  const std::bitset<NumberOfTrackStateOnSurfaceTypes>& types)
50  : TrackStateOnSurface(fitQualityOnSurface,
51  std::move(measurementBase),
52  std::move(trackParameters),
53  std::move(materialEffectsOnTrack),
54  types)
55  , m_multiComponentState(std::move(multiComponentState))
56 {
57 }
58 
62  , m_multiComponentState(
63  Trk::MultiComponentStateHelpers::clone(other.components()))
64 {
65 }
66 
70 {
71  if (this != &other) {
73  m_multiComponentState =
75  }
76  return *this;
77 }
78 
81 {
82  return new MultiComponentStateOnSurface(*this);
83 }
84 
85 MsgStream&
87 {
88  return log;
89 }
90 
91 std::ostream&
93 {
94  return log;
95 }
Trk::TrackStateOnSurface::operator=
Trk::TrackStateOnSurface & operator=(const Trk::TrackStateOnSurface &rhs)
Definition: TrackStateOnSurface.cxx:110
Trk::MultiComponentStateOnSurface::clone
virtual MultiComponentStateOnSurface * clone() const override final
Clone method for deep copy of MultiComponentStateOnSurface.
Definition: MultiComponentStateOnSurface.cxx:80
MeasurementBase.h
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
Trk::MultiComponentStateOnSurface::operator=
MultiComponentStateOnSurface & operator=(const MultiComponentStateOnSurface &other)
Definition: MultiComponentStateOnSurface.cxx:68
MaterialEffectsBase.h
python.Utilities.clone
clone
Definition: Utilities.py:134
Trk::FitQualityOnSurface
Definition: FitQualityOnSurface.h:19
Trk::Measurement
@ Measurement
Definition: AlignResidualType.h:33
Trk::MultiComponentStateHelpers::clone
MultiComponentState clone(const MultiComponentState &in)
Clone TrackParameters method.
Definition: ComponentParameters.cxx:15
Trk::MultiComponentState
std::vector< ComponentParameters > MultiComponentState
Definition: ComponentParameters.h:27
Trk::MultiComponentStateOnSurface::MultiComponentStateOnSurface
MultiComponentStateOnSurface()
Default constructor for POOL.
Definition: MultiComponentStateOnSurface.cxx:14
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
Trk::MultiComponentStateOnSurface
Definition: MultiComponentStateOnSurface.h:42
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
FitQuality.h
MultiComponentStateOnSurface.h
Trk::TrackStateOnSurface::Measurement
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
Definition: TrackStateOnSurface.h:101