ATLAS Offline Software
Loading...
Searching...
No Matches
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
6namespace 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 }
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} {
30 }
31 bool StripLayer::operator<(const StripLayer& other) const{
32 if (hash() != other.hash()) {
33 return hash() < other.hash();
34 }
35 if (m_transform != other.m_transform) {
36 return m_transform < other.m_transform;
37 }
38 if (hasPhiDesign() != other.hasPhiDesign()){
39 return hasPhiDesign();
40 }
41 if (m_phiDesign != other.m_phiDesign) {
42 return m_phiDesign < other.m_phiDesign;
43 }
44 return m_etaDesign < other.m_etaDesign;
45 }
46}
This is a "hash" representation of an Identifier.
The StripLayer interfaces the 2D description of the strip plane layout with the 3D description of the...
Definition StripLayer.h:19
IdentifierHash m_hash
Hash of the strip layer.
Definition StripLayer.h:97
const StripDesign & design(bool phiView=false) const
Returns the underlying strip design.
bool hasPhiDesign() const
Returns whether the strip layer also describes strips in the phi direction.
StripDesignPtr m_phiDesign
Pointer to the phi strip design.
Definition StripLayer.h:95
GeoIntrusivePtr< const GeoTransform > TransformPtr
Definition StripLayer.h:21
const IdentifierHash hash() const
Returns the hash of the strip layer.
bool operator<(const StripLayer &other) const
Comparison operator to recycle equivalent StripLayers for multiple readout elements.
const Amg::Transform3D & toOrigin() const
Returns the transformation to go from the strip layer center to the origin of the Strip chamber.
void flipPhiRotation()
Flips the phi rotation from 90 -> -90 degrees.
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...
TransformPtr m_transform
Pointer to the GeoModelTransform.
Definition StripLayer.h:91
StripDesignPtr m_etaDesign
Pointer to the eta strip design.
Definition StripLayer.h:93
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
std::ostream & operator<<(std::ostream &ostr, const Chamber::defineArgs &args)
Definition Chamber.cxx:14
GeoModel::TransientConstSharedPtr< StripDesign > StripDesignPtr
Definition StripDesign.h:29
STL namespace.