ATLAS Offline Software
Loading...
Searching...
No Matches
MuonClusterOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
6// MuonClusterOnTrack.h
7// Header file for class MuonClusterOnTrackOnTrack
9// (c) ATLAS Detector software
11// /** Class to implement Cluster On Track for Si */
13// Version 1.0 06/07/2004 Ketevi A. Assamagan
14// adapted from Veronique Boisvert
16
17#ifndef MUONRIOONTRACK_MUONCLUSTERONTRACK_H
18#define MUONRIOONTRACK_MUONCLUSTERONTRACK_H
19
20// Base classes
26#include "TrkSurfaces/Surface.h"
27// needed classes
28
30
31namespace Muon {
32
35
36 // /////////////////////////////////////////////////////////////////
37 // Public methods:
38 // /////////////////////////////////////////////////////////////////
39 public:
40
43
44
47 Amg::MatrixX&& locerr,
48 const Identifier& id,
49 const double positionAlongStrip
50 );
51
52
55
58
60 virtual MuonClusterOnTrack* clone() const override = 0;
61
63 virtual const MuonCluster* prepRawData() const override = 0;
64
66 virtual const Amg::Vector3D& globalPosition() const override;
67
68 virtual double positionAlongStrip() const {
70 }
71
73 virtual IdentifierHash collectionHash() const;
74
76 virtual IdentifierHash idDE() const override;
77
78 virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
79 {
81 }
82
84 virtual MsgStream& dump( MsgStream& stream) const override;
85
87 virtual std::ostream& dump( std::ostream& stream) const override;
88
90 virtual const MuonGM::MuonClusterReadoutElement* detectorElement() const override = 0;
91
92 protected:
95
98
99 private:
100 friend class ::MuonClusterOnTrackCnv_p1;
101
103 virtual void setValues(const Trk::TrkDetElementBase*, const Trk::PrepRawData*) override = 0 ;
104
105 };
106
107 // /////////////////////////////////////////////////////////////////
108 // Inline methods:
109 // /////////////////////////////////////////////////////////////////
110
112 if( this->prepRawData() ) return prepRawData()->collectionHash();
113 return IdentifierHash();
114 }
115
117 return IdentifierHash();
118 }
119
120} // end of namespace
121
122#endif // MUONRIOONTRACK_MUONCLUSTERONTRACK_H
123
Cached unique_ptr with atomic update.
This is a "hash" representation of an Identifier.
NO LONGER NEEDED, except for backwards compatibility.
virtual ~MuonClusterOnTrack()
Destructor.
virtual MuonClusterOnTrack * clone() const override=0
Clone this ROT.
virtual double positionAlongStrip() const
MuonClusterOnTrack()
Pool constructor.
virtual void setValues(const Trk::TrkDetElementBase *, const Trk::PrepRawData *) override=0
Used by custom convertors.
double m_positionAlongStrip
The position along the strip - used to calculate the GlobalPosition.
MuonClusterOnTrack & operator=(const MuonClusterOnTrack &)
virtual IdentifierHash collectionHash() const
Returns the hashID of the PRD collection.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
cache global position, the global position has to be calculated in the inheriting classes
virtual const MuonGM::MuonClusterReadoutElement * detectorElement() const override=0
Returns the detector element, associated with the PRD of this class.
virtual IdentifierHash idDE() const override
Returns an invalid hash.
virtual const MuonCluster * prepRawData() const override=0
Returns the Trk::PrepRawData - is a MuonCluster in this scope.
virtual const Amg::Vector3D & globalPosition() const override
Returns global position.
virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
Method checking the Rio On Track type.
virtual IdentifierHash collectionHash() const
Returns the IdentifierHash corresponding to the PRD collection in the PRD container.
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
This is the base class for all tracking detector elements with read-out relevant information.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
CachedUniquePtrT< const T > CachedUniquePtr
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
-event-from-file