ATLAS Offline Software
Loading...
Searching...
No Matches
SCT_ClusterOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SCT_ClusterOnTrack.h, (c) ATLAS Detector software
8
9#ifndef INDETRIO_ONTRACK_SCTCLUSTERONTRACK_H
10#define INDETRIO_ONTRACK_SCTCLUSTERONTRACK_H
11
12// Base classes
14
15// for ElementLink to IdentifiableContainer SCT_ClusterContainer
17#include "AthLinks/ElementLink.h"
18
19
20class SCT_Cluster;
21
22namespace Trk {
23 class Surface;
24 class LocalParameters;
26 class ITrkEventCnvTool;
27}
28
29namespace InDetDD {
31}
32
34
35namespace InDet{
36
44 class SCT_ClusterOnTrack final : public SiClusterOnTrack {
45
46 public:
50 // copy constructor
51 SCT_ClusterOnTrack( const SCT_ClusterOnTrack& rot) = default;
52 // move constructor
59 virtual ~SCT_ClusterOnTrack() = default;
60
63 Trk::LocalParameters&& locpars,
64 Amg::MatrixX&& locerr,
65 const IdentifierHash& idDE,
66 bool isbroad=false);
67
70 Trk::LocalParameters&& locpars,
71 Amg::MatrixX&& locerr,
72 const IdentifierHash& idDE,
74 bool isbroad=false);
75
76
77 /*
78 * Constuctor used by P->T converter.
79 * The P->T converter calls the
80 * setValues method to complete the object
81 * e.g set/reset the DetectorElement
82 */
84 const Trk::LocalParameters& locpars,
85 const Amg::MatrixX& locerr,
87 const Identifier& id,
88 bool isbroad,
89 double positionAlongStrip);
91 virtual SCT_ClusterOnTrack* clone() const override final;
92
96 virtual const Trk::Surface& associatedSurface() const override final;
97
98 virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
99 {
101 }
102
103
107 virtual const InDet::SCT_Cluster* prepRawData() const override final;
108
110
111
115 virtual const InDetDD::SiDetectorElement* detectorElement() const override final;
116
118 virtual MsgStream& dump( MsgStream& out ) const override final;
119
121 virtual std::ostream& dump( std::ostream& out ) const override final;
122
123 double positionAlongStrip() const;
124
125 private:
129 virtual void setValues(const Trk::TrkDetElementBase* detEl,
130 const Trk::PrepRawData* prd) override final;
131
136
138 };
139
141 {
142 return new SCT_ClusterOnTrack(*this);
143 }
144
146 {
147 // somehow one has to ask first if it is valid ... otherwise it always returns 0 ...
148 if (m_rio.isValid()) return m_rio.cachedElement();
149 else return 0;
150 }
151
154 {
155 return m_rio;
156 }
157
159 {
160 return m_detEl;
161 }
162
164 {
166 }
167
168
169}//end of namespace definitions
170
171#endif // TRKRIO_ONTRACK_SICLUSTERONTRACK_H
ElementLink< InDet::SCT_ClusterContainer > ElementLinkToIDCSCT_ClusterContainer
This is a "hash" representation of an Identifier.
Class to hold geometrical description of a silicon detector element.
virtual const InDet::SCT_Cluster * prepRawData() const override final
returns the PrepRawData - is a SCT_Cluster in this scope
SCT_ClusterOnTrack(const SCT_ClusterOnTrack &rot)=default
ElementLinkToIDCSCT_ClusterContainer m_rio
SCT_Cluster - the RIO (PRD, PrepRawData)
const ElementLinkToIDCSCT_ClusterContainer & prepRawDataLink() const
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
returns the detector element, assoicated with the PRD of this class
virtual SCT_ClusterOnTrack * clone() const override final
Pseudo-constructor.
virtual const Trk::Surface & associatedSurface() const override final
returns the surface for the local to global transformation
virtual ~SCT_ClusterOnTrack()=default
Destructor.
virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
Method checking the Rio On Track type.
virtual void setValues(const Trk::TrkDetElementBase *detEl, const Trk::PrepRawData *prd) override final
ONLY for use in custom convertor Allows the custom convertor to reset values when persistying/reading...
SCT_ClusterOnTrack & operator=(SCT_ClusterOnTrack &&)=default
Default move assigment operator.
SCT_ClusterOnTrack & operator=(const SCT_ClusterOnTrack &)=default
Assignment operator.
const InDetDD::SiDetectorElement * m_detEl
corresponding detector element
SCT_ClusterOnTrack(SCT_ClusterOnTrack &&rot)=default
virtual const Amg::Vector3D & globalPosition() const override
returns global position (gathered through Surface constraint)
SiClusterOnTrack()
Default Constructor - needed for POOL.
virtual IdentifierHash idDE() const override
returns the DE hashID*
Class to hold geometrical description of a silicon detector element.
virtual bool type(MeasurementBaseType::Type type) const override final
Extended method checking the type.
Abstract Base Class for tracking surfaces.
This is the base class for all tracking detector elements with read-out relevant information.
STL class.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
Message Stream Member.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file
STL namespace.
#define private