ATLAS Offline Software
CaloCluster_OnTrack.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRKCaloCluster_OnTrack_H
6 #define TRKCaloCluster_OnTrack_H
7 //
13 //
14 #include <iosfwd>
15 #include <memory>
16 class MsgStream;
17 
18 namespace Trk {
19 class EnergyLoss;
20 
30  : public MeasurementBase
31  , public SurfacePtrHolder
32 {
33 public:
41  CaloCluster_OnTrack(CaloCluster_OnTrack&& cot) noexcept = default;
44 
47  Amg::MatrixX&& locerr,
48  const Surface& surf,
49  const EnergyLoss* eloss = nullptr);
50 
52  virtual ~CaloCluster_OnTrack() = default;
53 
55  virtual CaloCluster_OnTrack* clone() const override final;
56 
58  std::unique_ptr<CaloCluster_OnTrack> uniqueClone() const
59  {
60  return std::unique_ptr<CaloCluster_OnTrack>(clone());
61  }
62 
65  virtual const Surface& associatedSurface() const override final;
66 
69  virtual const Amg::Vector3D& globalPosition() const override final;
70 
73 
75  virtual bool type(MeasurementBaseType::Type type) const override final
76  {
78  }
79 
81  virtual MsgStream& dump(MsgStream& out) const override final;
82 
84  virtual std::ostream& dump(std::ostream& out) const override final;
85 
86 protected:
89 
91  std::unique_ptr<const Trk::EnergyLoss> m_eloss;
92 
93 }; // End of Class
94 
95 } // Namespace
96 
97 inline const Trk::Surface&
99 {
100  return *m_associatedSurface;
101 }
102 
103 inline const Trk::EnergyLoss*
105 {
106  return m_eloss.get();
107 }
108 
109 #endif // TRKCaloCluster_OnTrack_H
Trk::LocalParameters
Definition: LocalParameters.h:98
SurfaceHolders.h
EnergyLoss.h
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
MeasurementBase.h
Trk::CaloCluster_OnTrack::operator=
CaloCluster_OnTrack & operator=(CaloCluster_OnTrack &&cot) noexcept=default
Move Assignment operator.
Trk::MeasurementBaseType::CaloCluster_OnTrack
@ CaloCluster_OnTrack
Definition: MeasurementBase.h:53
Trk::CaloCluster_OnTrack::type
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Definition: CaloCluster_OnTrack.h:75
Trk::CaloCluster_OnTrack::operator=
CaloCluster_OnTrack & operator=(const CaloCluster_OnTrack &cot)
Assignment operator.
Definition: CaloCluster_OnTrack.cxx:50
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Trk::SurfacePtrHolderImpl
Definition: SurfaceHolderImpl.h:79
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::CaloCluster_OnTrack::m_globalpos
Amg::Vector3D m_globalpos
global position of the cluster hit
Definition: CaloCluster_OnTrack.h:88
GeoPrimitives.h
Trk::CaloCluster_OnTrack::uniqueClone
std::unique_ptr< CaloCluster_OnTrack > uniqueClone() const
NVI Clone giving up unique pointer.
Definition: CaloCluster_OnTrack.h:58
Trk::CaloCluster_OnTrack::associatedSurface
virtual const Surface & associatedSurface() const override final
returns the surface for the local to global transformation
Definition: CaloCluster_OnTrack.h:98
Trk::CaloCluster_OnTrack::dump
virtual MsgStream & dump(MsgStream &out) const override final
returns the some information about this CaloCluster_OnTrack.
Definition: CaloCluster_OnTrack.cxx:74
Trk::CaloCluster_OnTrack::clone
virtual CaloCluster_OnTrack * clone() const override final
Pseudo-constructor, needed to avoid excessive RTTI.
Definition: CaloCluster_OnTrack.cxx:62
Trk::CaloCluster_OnTrack::CaloCluster_OnTrack
CaloCluster_OnTrack(CaloCluster_OnTrack &&cot) noexcept=default
Move Constructor.
Trk::SurfacePtrHolderImpl::m_associatedSurface
const S * m_associatedSurface
Definition: SurfaceHolderImpl.h:153
Trk::CaloCluster_OnTrack::~CaloCluster_OnTrack
virtual ~CaloCluster_OnTrack()=default
Destructor.
xAODType
Definition: ObjectType.h:13
Trk::CaloCluster_OnTrack::globalPosition
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
Definition: CaloCluster_OnTrack.cxx:68
Trk::MeasurementBase
Definition: MeasurementBase.h:58
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::CaloCluster_OnTrack
Definition: CaloCluster_OnTrack.h:32
Trk::EnergyLoss
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition: EnergyLoss.h:34
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::CaloCluster_OnTrack::energyLoss
const Trk::EnergyLoss * energyLoss() const
Extended method to get the EnergyLoss.
Definition: CaloCluster_OnTrack.h:104
Trk::CaloCluster_OnTrack::CaloCluster_OnTrack
CaloCluster_OnTrack()
Default Constructor for POOL.
Definition: CaloCluster_OnTrack.cxx:31
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::CaloCluster_OnTrack::m_eloss
std::unique_ptr< const Trk::EnergyLoss > m_eloss
Energy Loss.
Definition: CaloCluster_OnTrack.h:91