ATLAS Offline Software
Loading...
Searching...
No Matches
MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch Struct Reference

Helper struct to describe a sub trapezoid that is not aligned with the center of the coordinate system. More...

#include <TrapezoidBoundsExpander.h>

Collaboration diagram for MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch:

Public Member Functions

 TrapezoidPatch (const Acts::Transform3 &trf, std::shared_ptr< const Acts::VolumeBounds > volBounds)
 The constructor.
void print (std::ostream &ostr) const
 Print the TrapezoidPatch.
double area () const
 Calculates the area in the x-y plane.

Public Attributes

Acts::Transform3 toCenter {Acts::Transform3::Identity()}
 The transform to move to the outer trapezoid center.
std::shared_ptr< const Acts::VolumeBounds > bounds {}
 Pointer to the volume bounds.

Friends

std::ostream & operator<< (std::ostream &ostr, const TrapezoidPatch &patch)
 the ostream operator

Detailed Description

Helper struct to describe a sub trapezoid that is not aligned with the center of the coordinate system.

Definition at line 17 of file TrapezoidBoundsExpander.h.

Constructor & Destructor Documentation

◆ TrapezoidPatch()

MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch::TrapezoidPatch ( const Acts::Transform3 & trf,
std::shared_ptr< const Acts::VolumeBounds > volBounds )
explicit

The constructor.

Definition at line 28 of file TrapezoidBoundsExpander.cxx.

29 :
30 toCenter{trf}, bounds{std::move(volBounds)} {}
Acts::Transform3 toCenter
The transform to move to the outer trapezoid center.
std::shared_ptr< const Acts::VolumeBounds > bounds
Pointer to the volume bounds.

Member Function Documentation

◆ area()

double MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch::area ( ) const

Calculates the area in the x-y plane.

Definition at line 39 of file TrapezoidBoundsExpander.cxx.

39 {
41}
double halfY(const Acts::VolumeBounds &bounds)
Returns the half-Y length for the parsed volume bounds (Trapezoid/ Cuboid).
double halfXhighY(const Acts::VolumeBounds &bounds)
Returns the half-Y length @ posiive Y for the parsed volume bounds (Trapezoid/ Cuboid).

◆ print()

void MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch::print ( std::ostream & ostr) const

Print the TrapezoidPatch.

Definition at line 31 of file TrapezoidBoundsExpander.cxx.

31 {
32 ostr<<"BL: "<<Amg::toString(makeVertex(*this, Side::left, Level::bottom))
33 <<", TL: "<<Amg::toString(makeVertex(*this, Side::left, Level::top))
36 <<", bounds: "<<(*bounds)
37 <<", shift: "<<Amg::toString(toCenter);
38}
static Amg::Vector3D makeVertex(const TrapezoidPatch &trapezoid, const Side side, const Level lvl)
Returns the vertex point from a trapezoid.
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ operator<<

std::ostream & operator<< ( std::ostream & ostr,
const TrapezoidPatch & patch )
friend

the ostream operator

Definition at line 24 of file TrapezoidBoundsExpander.h.

24 {
25 patch.print(ostr);
26 return ostr;
27 }

Member Data Documentation

◆ bounds

std::shared_ptr<const Acts::VolumeBounds> MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch::bounds {}

Pointer to the volume bounds.

Definition at line 33 of file TrapezoidBoundsExpander.h.

33{};

◆ toCenter

Acts::Transform3 MuonGMR4::TrapezoidBoundsExpander::TrapezoidPatch::toCenter {Acts::Transform3::Identity()}

The transform to move to the outer trapezoid center.

Definition at line 31 of file TrapezoidBoundsExpander.h.

31{Acts::Transform3::Identity()};

The documentation for this struct was generated from the following files: