ATLAS Offline Software
sTgcClusterOnTrack.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONRIOONTRACK_STGCCLUSTERONTRACK_H
6 #define MUONRIOONTRACK_STGCCLUSTERONTRACK_H
7 
8 // Base classes
11 // needed classes
13 #include "AthLinks/ElementLink.h"
14 
16 
18 
19 
20 namespace Trk
21 {
22  class ITrkEventCnvTool;
23 }
24 
25 namespace Muon
26 {
27 
30  {
31 
32  public:
33  friend class Trk::ITrkEventCnvTool;
34  friend class ::STGC_ClusterOnTrackCnv_p1;
35 
39 
49  const sTgcPrepData* RIO,
50  Trk::LocalParameters&& locpos,
51  Amg::MatrixX&& locerr,
52  double positionAlongStrip
53  );
54 
55  // Alternate constructor that doesn't dereference the RIO link.
58  Trk::LocalParameters&& locpos,
59  Amg::MatrixX&& locerr,
60  const Identifier& id,
61  const MuonGM::sTgcReadoutElement* detEl,
62  double positionAlongStrip);
63 
65  virtual ~sTgcClusterOnTrack();
66 
68  virtual sTgcClusterOnTrack* clone() const override final;
69 
71  virtual const sTgcPrepData* prepRawData() const override final;
73 
75  virtual const MuonGM::sTgcReadoutElement* detectorElement() const override final;
76 
79  virtual const Trk::Surface& associatedSurface() const override final;
80 
82  virtual MsgStream& dump( MsgStream& stream) const override final;
83 
85  virtual std::ostream& dump( std::ostream& stream) const override final;
86 
87  private:
91  virtual void setValues(const Trk::TrkDetElementBase*,
92  const Trk::PrepRawData*) override final;
93 
96 
98  const MuonGM::sTgcReadoutElement* m_detEl;
99 
100  };
101 
103  // Inline methods:
105 
106 
108  {
109  return new sTgcClusterOnTrack(*this);
110  }
111 
113  {
114  if (m_rio.isValid()) return m_rio.cachedElement();
115  else return 0;
116  }
117 
119  {
120  return m_rio;
121  }
122 
124  {
125  return m_detEl;
126  }
127 
129  {
130  assert(0!=detectorElement());
131  return detectorElement()->surface(identify());
132  }
133 
135  const Trk::PrepRawData* /*rio*/)
136  {
137  // m_rio = dynamic_cast<const sTgcPrepData*>(rio);
138  //assert(0!=m_rio);
139  m_detEl = dynamic_cast<const MuonGM::sTgcReadoutElement*>(detEl);
140  assert(0!=m_detEl);
141  }
142 
143 }
144 
145 #endif
Trk::LocalParameters
Definition: LocalParameters.h:98
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
Muon::sTgcClusterOnTrack::associatedSurface
virtual const Trk::Surface & associatedSurface() const override final
Returns the surface on which this measurement was taken.
Definition: sTgcClusterOnTrack.h:128
Muon::sTgcClusterOnTrack::m_rio
ElementLinkToIDC_STGC_Container m_rio
PrepRawData object assoicated with this measurement.
Definition: sTgcClusterOnTrack.h:95
Muon::sTgcClusterOnTrack::sTgcClusterOnTrack
sTgcClusterOnTrack()
Definition: sTgcClusterOnTrack.cxx:12
Muon::sTgcClusterOnTrack::setValues
virtual void setValues(const Trk::TrkDetElementBase *, const Trk::PrepRawData *) override final
Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
Definition: sTgcClusterOnTrack.h:134
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Muon::sTgcClusterOnTrack::m_detEl
const MuonGM::sTgcReadoutElement * m_detEl
The detector element, assoicated with this measurement.
Definition: sTgcClusterOnTrack.h:98
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
Muon::sTgcClusterOnTrack::prepRawDataLink
const ElementLinkToIDC_STGC_Container & prepRawDataLink() const
Definition: sTgcClusterOnTrack.h:118
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Muon::sTgcClusterOnTrack::clone
virtual sTgcClusterOnTrack * clone() const override final
Clone this ROT.
Definition: sTgcClusterOnTrack.h:107
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
sTgcPrepDataContainer.h
MuonGM::MuonClusterReadoutElement::surface
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
Definition: MuonClusterReadoutElement.h:123
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
sTgcPrepData.h
STGC_ClusterOnTrackCnv_p1
Definition: STGC_ClusterOnTrackCnv_p1.h:31
Muon::sTgcClusterOnTrack::dump
virtual MsgStream & dump(MsgStream &stream) const override final
Dumps information about the PRD.
Definition: sTgcClusterOnTrack.cxx:67
MuonGM::sTgcReadoutElement
An sTgcReadoutElement corresponds to a single STGC module; therefore typicaly a barrel muon station c...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/sTgcReadoutElement.h:30
Trk::ITrkEventCnvTool
Definition: ITrkEventCnvTool.h:31
Muon::sTgcClusterOnTrack::detectorElement
virtual const MuonGM::sTgcReadoutElement * detectorElement() const override final
Returns the detector element, assoicated with the PRD of this class.
Definition: sTgcClusterOnTrack.h:123
Muon::sTgcClusterOnTrack::prepRawData
virtual const sTgcPrepData * prepRawData() const override final
Returns the sTgcPrepData - is a TRT_DriftCircle in this scope.
Definition: sTgcClusterOnTrack.h:112
Muon::sTgcClusterOnTrack::operator=
sTgcClusterOnTrack & operator=(const sTgcClusterOnTrack &)
Definition: sTgcClusterOnTrack.cxx:56
Muon::sTgcClusterOnTrack
Class to represent calibrated clusters formed from TGC strips.
Definition: sTgcClusterOnTrack.h:30
Trk::PrepRawData
Definition: PrepRawData.h:62
Muon::sTgcClusterOnTrack::~sTgcClusterOnTrack
virtual ~sTgcClusterOnTrack()
Destructor.
Definition: sTgcClusterOnTrack.cxx:50
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
Muon::sTgcClusterOnTrack::sTgcClusterOnTrack
sTgcClusterOnTrack(const sTgcClusterOnTrack &)
Trk::RIO_OnTrack::identify
Identifier identify() const
return the identifier -extends MeasurementBase
Definition: RIO_OnTrack.h:152
Muon::MuonClusterOnTrack::positionAlongStrip
virtual double positionAlongStrip() const
Definition: MuonClusterOnTrack.h:68
MuonClusterOnTrack.h
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Muon::sTgcPrepData
Class to represent sTgc measurements.
Definition: sTgcPrepData.h:20
Muon::MuonClusterOnTrack
Base class for Muon cluster RIO_OnTracks.
Definition: MuonClusterOnTrack.h:34
Identifier
Definition: IdentifierFieldParser.cxx:14