ATLAS Offline Software
Loading...
Searching...
No Matches
PseudoMeasurementOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PseudoMeasurementOnTrack.h, (c) ATLAS Detector software
8
9#ifndef TRKPMONTRACK_PSEUDOMEASUREMENTONTRACK_H
10#define TRKPMONTRACK_PSEUDOMEASUREMENTONTRACK_H
11
15#include "TrkSurfaces/Surface.h"
17#include <iosfwd>
18#include <memory>
19
20class MsgStream;
22
23namespace Trk {
24
25class Surface;
26
40
42 : public MeasurementBase
43 , public SurfacePtrHolder
44{
45
46 friend class ::TrackCollectionCnv;
47
48public:
54 default;
56 default;
58 Amg::MatrixX&& locerr,
59 const Surface& assocSurf);
60
62 Amg::MatrixX&& locerr,
63 ConstSurfaceUniquePtr assocSurf);
64
66 virtual ~PseudoMeasurementOnTrack() override final = default;
67
69 virtual PseudoMeasurementOnTrack* clone() const override final;
70
73 {
74 return std::unique_ptr<PseudoMeasurementOnTrack>(clone());
75 };
76
79 virtual const Surface& associatedSurface() const override final;
80
82 bool hasSurface() const;
83
85 virtual const Amg::Vector3D& globalPosition() const override final;
86
88 virtual bool type(MeasurementBaseType::Type type) const override final
89 {
91 }
92
94 virtual MsgStream& dump(MsgStream& out) const override final;
96 virtual std::ostream& dump(std::ostream& out) const override final;
97
98protected:
101};
102
105{
106 return new PseudoMeasurementOnTrack(*this);
107}
108
109inline const Surface&
114
115inline bool
117{
118 return m_associatedSurface != nullptr;
119}
120
121inline const Amg::Vector3D&
126
127} // end namespace Trk
128
129#endif // TRKPMONTRACK_PSEUDOMEASUREMENTONTRACK_H
130
Eigen::Matrix< double, 3, 1 > Vector3D
MeasurementBase()=default
Default constructor - needed for POOL/SEAL.
Class to handle pseudo-measurements in fitters and on track objects.
PseudoMeasurementOnTrack(const PseudoMeasurementOnTrack &)=default
virtual const Amg::Vector3D & globalPosition() const override final
returns the global Position (interface from MeasurementBase)
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
virtual PseudoMeasurementOnTrack * clone() const override final
virtual constructor, not absolutely needed but given for EDM symmetry
Amg::Vector3D m_globalPosition
Global position of the PMoT.
bool hasSurface() const
Test to see if an associated surface exists.
PseudoMeasurementOnTrack()
Default Constructor for POOL.
std::unique_ptr< PseudoMeasurementOnTrack > uniqueClone() const
NVI unique_ptr version of clone.
PseudoMeasurementOnTrack(PseudoMeasurementOnTrack &&) noexcept=default
virtual const Surface & associatedSurface() const override final
returns the surface for the local to global transformation (interface from MeasurementBase)
Abstract Base Class for tracking surfaces.
STL class.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
SurfaceUniquePtrT< const Trk::Surface > ConstSurfaceUniquePtr
SurfacePtrHolderImpl< Surface > SurfacePtrHolder
-event-from-file
STL namespace.