ATLAS Offline Software
StripLayer.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
5 
6 namespace MuonGMR4{
7 
8  std::ostream& operator<<(std::ostream& ostr, const StripLayer& lay) {
9  ostr<<"Strip layer transform: "<<Amg::toString(lay.toOrigin())<<", ";
10  ostr<<lay.design()<<", ";
11  ostr<<"Hash: "<<static_cast<unsigned int>(lay.hash());
12  return ostr;
13  }
15  m_phiRot = -m_phiRot;
16  }
18  StripDesignPtr design,
19  const IdentifierHash hash):
20  StripLayer{std::move(layerTransform), design, design, hash} {}
21 
23  StripDesignPtr etaDesign, StripDesignPtr phiDesign,
24  const IdentifierHash hash):
25  m_transform{std::move(layerTransform)},
26  m_etaDesign{std::move(etaDesign)},
27  m_phiDesign{std::move(phiDesign)},
28  m_hash{hash} {
29  }
31  if (hash() != other.hash()) {
32  return hash() < other.hash();
33  }
34  if (m_transform != other.m_transform) {
35  return m_transform < other.m_transform;
36  }
37  if (hasPhiDesign() != hasPhiDesign()){
38  return hasPhiDesign();
39  }
40  if (m_phiDesign != other.m_phiDesign) {
41  return m_phiDesign < other.m_phiDesign;
42  }
43  return m_etaDesign < other.m_etaDesign;
44  }
45 }
GeoModel::TransientConstSharedPtr< StripDesign >
MuonGMR4::StripLayer::operator<
bool operator<(const StripLayer &other) const
Comparison operator to recycle equivalent StripLayers for multiple readout elements.
Definition: StripLayer.cxx:30
MuonGMR4::StripLayer::toOrigin
const Amg::Transform3D & toOrigin() const
Returns the transformation to go from the strip layer center to the origin of the Strip chamber.
MuonGMR4::StripLayer::m_phiRot
double m_phiRot
Definition: StripLayer.h:98
MuonGMR4::StripLayer::flipPhiRotation
void flipPhiRotation()
Flips the phi rotation from 90 -> -90 degrees.
Definition: StripLayer.cxx:14
MuonGMR4::StripLayer::m_etaDesign
StripDesignPtr m_etaDesign
Pointer to the eta strip design.
Definition: StripLayer.h:93
MuonGMR4::StripLayer::StripLayer
StripLayer(TransformPtr layerTransform, StripDesignPtr design, const IdentifierHash hash)
Standard constructor taking the transform to decribe a strip layer, a pointer to the eta strip design...
Definition: StripLayer.cxx:17
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
MuonGMR4
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Definition: MdtCalibInput.h:19
MuonGMR4::StripLayer::TransformPtr
GeoIntrusivePtr< const GeoTransform > TransformPtr
Definition: StripLayer.h:21
MuonGMR4::StripLayer::hasPhiDesign
bool hasPhiDesign() const
Returns whether the strip layer also describes strips in the phi direction.
MuonGMR4::StripLayer::design
const StripDesign & design(bool phiView=false) const
Returns the underlying strip design.
MuonGMR4::StripLayer::m_transform
TransformPtr m_transform
Pointer to the GeoModelTransform
Definition: StripLayer.h:91
StripLayer.h
MuonGMR4::StripLayer
The StripLayer interfaces the 2D description of the strip plane layout with the 3D description of the...
Definition: StripLayer.h:19
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:108
MuonGMR4::StripLayer::m_phiDesign
StripDesignPtr m_phiDesign
Pointer to the phi strip design.
Definition: StripLayer.h:95
MuonGMR4::StripLayer::hash
const IdentifierHash hash() const
Returns the hash of the strip layer.
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
MuonGMR4::operator<<
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition: Chamber.cxx:15