4#ifndef MUONREADOUTGEOMETRYR4_STRIPLAYER_H
5#define MUONREADOUTGEOMETRYR4_STRIPLAYER_H
11#include <GeoModelKernel/GeoTransform.h>
12#include <GaudiKernel/SystemOfUnits.h>
57 bool phiView =
false)
const;
64 bool phiView =
false)
const;
71 bool phiView =
false)
const;
107 std::ostream&
operator<<(std::ostream& ostr,
const StripLayer& lay);
std::vector< size_t > vec
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
This is a "hash" representation of an Identifier.
std::optional< Amg::Vector2D > CheckVector2D
IdentifierHash m_hash
Hash of the strip layer.
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.
Amg::Vector3D localStripRightEdge(unsigned int stripNum, bool phiView=false) const
Returns the position of the right strip edge at (negative y in the strip design description) in the l...
StripDesignPtr m_phiDesign
Pointer to the phi strip design.
Amg::Vector3D localStripPosition(unsigned int stripum, bool phiView=false) const
Returns the position of the strip centre expressed in the frame of the local readout plane.
GeoIntrusivePtr< const GeoTransform > TransformPtr
const IdentifierHash hash() const
Returns the hash of the strip layer.
Amg::Vector2D to2D(const Amg::Vector3D &vec, const bool phiView) const
Transforms a 3D vector from the strip design into a 2D vector.
bool operator<(const StripLayer &other) const
Comparison operator to recycle equivalent StripLayers for multiple readout elements.
Amg::Vector3D to3D(CheckVector2D &&vec, const bool phiView) const
Transforms the 2D vector from the strip design into a 3D vector If phi view is switched on,...
const Amg::Transform3D & toOrigin() const
Returns the transformation to go from the strip layer center to the origin of the Strip chamber.
Amg::Vector3D localStripLeftEdge(unsigned int stripNum, bool phiView=false) const
Returns the position of the strip edge at (positive y in the strip design description) in the local c...
void flipPhiRotation()
Flips the phi rotation from 90 -> -90 degrees.
StripDesign::CheckVector2D CheckVector2D
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.
StripDesignPtr m_etaDesign
Pointer to the eta strip design.
Eigen::Affine3d Transform3D
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
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)
GeoModel::TransientConstSharedPtr< StripDesign > StripDesignPtr
GeoModel::TransientConstSharedPtr< StripLayer > StripLayerPtr
Helper struct to share strip layer instances across the readout elements.
bool operator()(const StripLayerPtr &a, const StripLayerPtr &b) const