|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef MUONREADOUTGEOMETRYR4_MDTTUBELAYER_H
5 #define MUONREADOUTGEOMETRYR4_MDTTUBELAYER_H
8 #include <GeoModelKernel/GeoVPhysVol.h>
9 #include <GeoModelKernel/GeoTransform.h>
10 #include <GeoModelKernel/GeoVolumeCursor.h>
74 const GeoIntrusivePtr<const GeoTransform> toLayTrf,
77 unsigned int nTubes()
const;
95 GeoIntrusivePtr<const GeoTransform>
m_layTrf{
nullptr};
101 bool operator<(
const MdtTubeLayer::CutTubes&
a,
const unsigned int tube);
102 bool operator<(
const unsigned int tube,
const MdtTubeLayer::CutTubes&
a);
104 bool operator<(
const MdtTubeLayer::TubePositioner&
a,
const unsigned int tube);
105 bool operator<(
const unsigned int tube,
const MdtTubeLayer::TubePositioner&
a);
double unCutHalfLength
Tube length before cut
Helper struct to avoid browsing with the serial transformer.
Amg::Vector3D m_tubePitch
The TransientConstSharedPtr allows non-const access if the pointer itself is non-const but in the con...
const Amg::Transform3D & layerTransform() const
: Returns the transformation from the layer to the muon station
Amg::Vector3D firstTubePos
Transform to reach the first tube.
Helper struct to sort equivalent MdtTubeLayers into a std::set.
Helper struct to retrieve the tube lengths and the tube centers directly from the GeoModel tree.
bool operator<(const TubePositioner &other) const
ordering operator for set look up
The ReadoutGeomCnvAlg converts the Run4 Readout geometry build from the GeoModelXML into the legacy M...
Eigen::Affine3d Transform3D
Constructor taking the GeoModel parent node of the tube nodes.
unsigned int firstTube
First tube of the cut.
PVConstLink getTubeNode(unsigned int tube) const
returns the PVConst link to the n-th tube [0 - nTubes() -1]
bool operator()(const MdtTubeLayer &a, const MdtTubeLayer &b) const
bool operator<(const MdtTubeLayer::CutTubes &a, const unsigned int tube)
unsigned int nTubes() const
Returns the number of tubes in the layer.
double tubeHalfLength(const unsigned int tube) const
Returns the half-length of the given tube.
Eigen::Matrix< double, 3, 1 > Vector3D
unsigned int firstTube
First tube of the positioning.
const Amg::Transform3D tubeTransform(const unsigned int tube) const
Returns the transformation of the tube to the muon station Index counting [0 - nTubes()-1].
MdtTubeLayer(const PVConstLink layer, const GeoIntrusivePtr< const GeoTransform > toLayTrf, const CutTubeSet &cutTubes)
Standard constructor of a MdtTube layer.
TubePositionerSet m_tubePos
std::set< MdtTubeLayerPtr, MdtTubeLayerSorter > MdtTubeLayerSet
std::set< TubePositioner, std::less<> > TubePositionerSet
unsigned int lastTube
Last tube of the positioning.
bool operator<(const CutTubes &other) const
ordering operator for set look up
std::set< CutTubes, std::less<> > CutTubeSet
unsigned int lastTube
Last tube of the cut.
GeoIntrusivePtr< const GeoTransform > m_layTrf
const Amg::Vector3D tubePosInLayer(const unsigned int tube) const
Returns the tube position within the given tube layer.
friend MdtTubeLayerSorter
PVConstLink tubeVol
Underlying physical volume of the tube.
double uncutHalfLength(const unsigned int tube) const
Returns the uncut-half length of the given tube.