ATLAS Offline Software
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 
20 class MsgStream;
21 class TrackCollectionCnv;
22 
23 namespace Trk {
24 
25 class Surface;
26 
42  : public MeasurementBase
43  , public SurfacePtrHolder
44 {
45 
46  friend class ::TrackCollectionCnv;
47 
48 public:
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 
72  std::unique_ptr<PseudoMeasurementOnTrack> uniqueClone() const
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 
98 protected:
101 };
102 
105 {
106  return new PseudoMeasurementOnTrack(*this);
107 }
108 
109 inline const Surface&
111 {
112  return *m_associatedSurface;
113 }
114 
115 inline bool
117 {
118  return m_associatedSurface != nullptr;
119 }
120 
121 inline const Amg::Vector3D&
123 {
124  return m_globalPosition;
125 }
126 
127 } // end namespace Trk
128 
129 #endif // TRKPMONTRACK_PSEUDOMEASUREMENTONTRACK_H
130 
Trk::LocalParameters
Definition: LocalParameters.h:98
SurfaceHolders.h
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
MeasurementBase.h
Surface.h
Trk::PseudoMeasurementOnTrack::PseudoMeasurementOnTrack
PseudoMeasurementOnTrack(PseudoMeasurementOnTrack &&) noexcept=default
Trk::PseudoMeasurementOnTrack::clone
virtual PseudoMeasurementOnTrack * clone() const override final
virtual constructor, not absolutely needed but given for EDM symmetry
Definition: PseudoMeasurementOnTrack.h:104
Trk::PseudoMeasurementOnTrack::PseudoMeasurementOnTrack
PseudoMeasurementOnTrack(const PseudoMeasurementOnTrack &)=default
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Trk::PseudoMeasurementOnTrack::m_globalPosition
Amg::Vector3D m_globalPosition
Global position of the PMoT.
Definition: PseudoMeasurementOnTrack.h:100
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::SurfacePtrHolderImpl
Definition: SurfaceHolderImpl.h:79
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::PseudoMeasurementOnTrack
Class to handle pseudo-measurements in fitters and on track objects.
Definition: PseudoMeasurementOnTrack.h:44
Trk::PseudoMeasurementOnTrack::associatedSurface
virtual const Surface & associatedSurface() const override final
returns the surface for the local to global transformation (interface from MeasurementBase)
Definition: PseudoMeasurementOnTrack.h:110
Trk::PseudoMeasurementOnTrack::type
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Definition: PseudoMeasurementOnTrack.h:88
GeoPrimitives.h
TrackCollectionCnv
Definition: TrackCollectionCnv.h:47
Trk::SurfacePtrHolderImpl::m_associatedSurface
const S * m_associatedSurface
Definition: SurfaceHolderImpl.h:153
Trk::PseudoMeasurementOnTrack::PseudoMeasurementOnTrack
PseudoMeasurementOnTrack()
Default Constructor for POOL.
Definition: PseudoMeasurementOnTrack.cxx:53
xAODType
Definition: ObjectType.h:13
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk::PseudoMeasurementOnTrack::dump
virtual MsgStream & dump(MsgStream &out) const override final
produces logfile output about its content in MsgStream form.
Definition: PseudoMeasurementOnTrack.cxx:60
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
Trk::PseudoMeasurementOnTrack::globalPosition
virtual const Amg::Vector3D & globalPosition() const override final
returns the global Position (interface from MeasurementBase)
Definition: PseudoMeasurementOnTrack.h:122
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::ConstSurfaceUniquePtr
SurfaceUniquePtrT< const Trk::Surface > ConstSurfaceUniquePtr
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:468
Trk::PseudoMeasurementOnTrack::uniqueClone
std::unique_ptr< PseudoMeasurementOnTrack > uniqueClone() const
NVI unique_ptr version of clone.
Definition: PseudoMeasurementOnTrack.h:72
Trk::MeasurementBaseType::PseudoMeasurementOnTrack
@ PseudoMeasurementOnTrack
Definition: MeasurementBase.h:51
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::PseudoMeasurementOnTrack::hasSurface
bool hasSurface() const
Test to see if an associated surface exists.
Definition: PseudoMeasurementOnTrack.h:116