ATLAS Offline Software
Loading...
Searching...
No Matches
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>
16class MsgStream;
17
18namespace Trk {
19class EnergyLoss;
20
28
30 : public MeasurementBase
31 , public SurfacePtrHolder
32{
33public:
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
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
86protected:
89
91 std::unique_ptr<const Trk::EnergyLoss> m_eloss;
92
93}; // End of Class
94
95} // Namespace
96
97inline const Trk::Surface&
102
103inline const Trk::EnergyLoss*
105{
106 return m_eloss.get();
107}
108
109#endif // TRKCaloCluster_OnTrack_H
Eigen::Matrix< double, 3, 1 > Vector3D
virtual ~CaloCluster_OnTrack()=default
Destructor.
Amg::Vector3D m_globalpos
global position of the cluster hit
virtual const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
virtual CaloCluster_OnTrack * clone() const override final
Pseudo-constructor, needed to avoid excessive RTTI.
CaloCluster_OnTrack(CaloCluster_OnTrack &&cot) noexcept=default
Move Constructor.
std::unique_ptr< CaloCluster_OnTrack > uniqueClone() const
NVI Clone giving up unique pointer.
const Trk::EnergyLoss * energyLoss() const
Extended method to get the EnergyLoss.
CaloCluster_OnTrack & operator=(CaloCluster_OnTrack &&cot) noexcept=default
Move Assignment operator.
std::unique_ptr< const Trk::EnergyLoss > m_eloss
Energy Loss.
CaloCluster_OnTrack()
Default Constructor for POOL.
virtual const Surface & associatedSurface() const override final
returns the surface for the local to global transformation
CaloCluster_OnTrack & operator=(const CaloCluster_OnTrack &cot)
Assignment operator.
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
This class describes energy loss material effects in the ATLAS tracking EDM.
Definition EnergyLoss.h:34
MeasurementBase()=default
Default constructor - needed for POOL/SEAL.
Abstract Base Class for tracking surfaces.
STL class.
Definition of ATLAS Math & Geometry primitives (Amg)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the ATLAS eigen extensions are properly loaded.
SurfacePtrHolderImpl< Surface > SurfacePtrHolder
-event-from-file
STL namespace.