ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonReconstruction
MuonRecEvent
MuonCompetingRIOsOnTrack
src
CompetingMuonClustersOnTrack.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// CompetingMuonClustersOnTrack.cxx, (c) ATLAS Detector software
8
9
// Trk
10
#include "GaudiKernel/MsgStream.h"
11
// Muon
12
#include "
MuonCompetingRIOsOnTrack/CompetingMuonClustersOnTrack.h
"
13
// std
14
#include <cmath>
15
#include <ranges>
16
17
namespace
Muon
{
18
19
// copy constructor
20
CompetingMuonClustersOnTrack::CompetingMuonClustersOnTrack
(
const
CompetingMuonClustersOnTrack
& compROT):
21
CompetingMuonClustersOnTrack
{} {
22
(*this) = compROT;
23
}
24
25
// explicit constructor
26
CompetingMuonClustersOnTrack::CompetingMuonClustersOnTrack
(
27
std::vector<std::unique_ptr<const MuonClusterOnTrack>>&& childrots,
28
std::vector<AssignmentProb>&& assgnProb)
29
:
Trk
::
CompetingRIOsOnTrack
(
std
::move(assgnProb))
30
,
m_containedChildRots
(
std
::move(childrots))
31
{
32
setLocalParametersAndErrorMatrix
();
33
}
34
35
CompetingMuonClustersOnTrack::CompetingMuonClustersOnTrack
(
36
Trk::LocalParameters
&& locPars,
37
Amg::MatrixX
&&
error
,
38
const
Trk::Surface
* assSurf,
39
std::vector<std::unique_ptr<const MuonClusterOnTrack>>&& childrots,
40
std::vector<AssignmentProb>&& assgnProb)
41
:
Trk
::
CompetingRIOsOnTrack
{
std
::move(assgnProb)}
42
,
Trk
::SurfacePtrHolderDetEl{assSurf}
43
,
m_containedChildRots
(
std
::move(childrots))
44
{
45
Trk::MeasurementBase::m_localParams
= std::move(locPars);
46
Trk::MeasurementBase::m_localCovariance
= std::move(
error
);
47
}
48
49
CompetingMuonClustersOnTrack
&
50
CompetingMuonClustersOnTrack::operator=
(
51
const
CompetingMuonClustersOnTrack
& compROT)
noexcept
52
{
53
if
(
this
!= &compROT) {
54
// assingment operator of base class
55
Trk::CompetingRIOsOnTrack::operator=
(compROT);
56
Trk::SurfacePtrHolderDetEl::operator=
(compROT);
57
m_globalPosition
.release();
58
m_containedChildRots
.clear();
59
std::ranges::transform(compROT.m_containedChildRots,
60
std::back_inserter(
m_containedChildRots
),
61
[](
const
std::unique_ptr<const MuonClusterOnTrack>& cluster) {
62
return std::unique_ptr<const MuonClusterOnTrack>{cluster->clone()};
63
});
64
65
}
66
return
(*
this
);
67
}
68
69
70
MsgStream&
71
CompetingMuonClustersOnTrack::dump
(MsgStream& out)
const
72
{
73
out <<
"Muon::CompetingMuonClustersOnTrack (Muon competingROTs) "
74
<< std::endl;
75
out <<
" - it contains : "
<<
m_containedChildRots
.size()
76
<<
" RIO_OnTrack objects"
<< std::endl;
77
out <<
" - parameters : "
<< std::endl;
78
out <<
" - parameter key : "
<< std::endl;
79
return
out;
80
}
81
82
std::ostream&
83
CompetingMuonClustersOnTrack::dump
(std::ostream& out)
const
84
{
85
out <<
"Muon::CompetingMuonClustersOnTrack (Muon competingROTs) "
86
<< std::endl;
87
out <<
" - it contains : "
<<
m_containedChildRots
.size()
88
<<
" RIO_OnTrack objects"
<< std::endl;
89
out <<
" - it contains : "
<<
numberOfContainedROTs
()
90
<<
" RIO_OnTrack objects"
<< std::endl;
91
out <<
" - parameters : "
<< std::endl;
92
out <<
" - parameter key : "
<< std::endl;
93
return
out;
94
}
95
96
// Have all the contained ROTs a common associated surface?
97
bool
98
CompetingMuonClustersOnTrack::ROTsHaveCommonSurface
(
const
bool
)
const
99
{
100
return
true
;
101
}
102
103
}
CompetingMuonClustersOnTrack.h
Muon::CompetingMuonClustersOnTrack
Class for competing MuonClusters, it extends the Trk::CompetingRIOsOnTrack base class.
Definition
CompetingMuonClustersOnTrack.h:54
Muon::CompetingMuonClustersOnTrack::m_globalPosition
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
The global Position.
Definition
CompetingMuonClustersOnTrack.h:138
Muon::CompetingMuonClustersOnTrack::CompetingMuonClustersOnTrack
CompetingMuonClustersOnTrack()=default
Default Constructor for POOL.
Muon::CompetingMuonClustersOnTrack::m_containedChildRots
std::vector< std::unique_ptr< const MuonClusterOnTrack > > m_containedChildRots
The vector of contained Muon::MuonClusterOnTrack objects.
Definition
CompetingMuonClustersOnTrack.h:141
Muon::CompetingMuonClustersOnTrack::numberOfContainedROTs
unsigned int numberOfContainedROTs() const
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
Definition
CompetingMuonClustersOnTrack.h:174
Muon::CompetingMuonClustersOnTrack::dump
MsgStream & dump(MsgStream &out) const
returns some information about this MeasurementBase/CompetingMuonClustersOnTrack.
Definition
CompetingMuonClustersOnTrack.cxx:71
Muon::CompetingMuonClustersOnTrack::ROTsHaveCommonSurface
bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb=true) const
Have all the contained ROTs a common associated surface?
Definition
CompetingMuonClustersOnTrack.cxx:98
Muon::CompetingMuonClustersOnTrack::operator=
CompetingMuonClustersOnTrack & operator=(const CompetingMuonClustersOnTrack &compROT) noexcept
Assignment operator.
Definition
CompetingMuonClustersOnTrack.cxx:50
Trk::CompetingRIOsOnTrack::setLocalParametersAndErrorMatrix
virtual void setLocalParametersAndErrorMatrix()
recalculate the LocalParameters and ErrorMatrix
Definition
CompetingRIOsOnTrack.cxx:33
Trk::CompetingRIOsOnTrack::operator=
CompetingRIOsOnTrack & operator=(const CompetingRIOsOnTrack &compROT)=default
Assignment operator.
Trk::CompetingRIOsOnTrack::CompetingRIOsOnTrack
CompetingRIOsOnTrack()
Default Constructor for POOL.
Definition
CompetingRIOsOnTrack.cxx:18
Trk::LocalParameters
Definition
LocalParameters.h:100
Trk::MeasurementBase::m_localParams
LocalParameters m_localParams
Definition
MeasurementBase.h:111
Trk::MeasurementBase::m_localCovariance
Amg::MatrixX m_localCovariance
Definition
MeasurementBase.h:112
Trk::SurfacePtrHolderImplDetEl< Surface >::operator=
SurfacePtrHolderImplDetEl & operator=(const SurfacePtrHolderImplDetEl &other)
Definition
SurfaceHolderImpl.h:169
Trk::Surface
Abstract Base Class for tracking surfaces.
Definition
Surface.h:79
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition
EventPrimitives.h:27
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
error
Definition
IImpactPoint3dEstimator.h:72
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0