OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
PlacedElement Class Reference

Geometric placement record for an element instance. More...

#include <PlacedElement.h>

Collaboration diagram for PlacedElement:
Collaboration graph

Public Member Functions

 PlacedElement (const ElementBase *element, const PlacementPose &nominal=PlacementPose(), const Misalignment &correction=Misalignment(), const ElementGeometry &geometry=ElementGeometry(), const SupportPlacement &support=SupportPlacement())
 
const ElementBasegetElement () const
 
const PlacementPosegetPlacementPose () const
 
const MisalignmentgetMisalignment () const
 
const ElementGeometrygetGeometry () const
 
const SupportPlacementgetSupportPlacement () const
 
CoordinateSystemTrafo getNominalBodyTransform () const
 
CoordinateSystemTrafo getNominalEntryTransform () const
 
CoordinateSystemTrafo getNominalBodyPortTransform () const
 
CoordinateSystemTrafo getNominalExitTransform () const
 
CoordinateSystemTrafo getNominalSupportTransform () const
 
CoordinateSystemTrafo getActualBodyTransform () const
 
CoordinateSystemTrafo getEntryTransform () const
 
CoordinateSystemTrafo getBodyTransform () const
 
CoordinateSystemTrafo getExitTransform () const
 
CoordinateSystemTrafo getSupportTransform () const
 

Private Attributes

const ElementBaseelement_m
 
PlacementPose nominal_m
 
Misalignment correction_m
 
ElementGeometry geometry_m
 
SupportPlacement support_m
 

Detailed Description

Geometric placement record for an element instance.

The placed element combines:

  • the nominal parent-to-body placement,
  • the local nominal-to-actual correction,
  • the canonical body-relative ports,
  • and an optional support/frame offset.

All transforms are represented with CoordinateSystemTrafo in the current implementation. The actual body transform is therefore

\[ T_{\mathrm{parent}\rightarrow\mathrm{actual}} = T_{\mathrm{nominal}\rightarrow\mathrm{actual}} \cdot T_{\mathrm{parent}\rightarrow\mathrm{nominal}}. \]

The bridge stage keeps both nominal and actual transforms available. This is important because current OPALX runtime code still queries nominal placement and applies misalignment separately in some paths.

Definition at line 34 of file PlacedElement.h.

Constructor & Destructor Documentation

◆ PlacedElement()

PlacedElement::PlacedElement ( const ElementBase element,
const PlacementPose nominal = PlacementPose(),
const Misalignment correction = Misalignment(),
const ElementGeometry geometry = ElementGeometry(),
const SupportPlacement support = SupportPlacement() 
)
inlineexplicit

Definition at line 36 of file PlacedElement.h.

Member Function Documentation

◆ getActualBodyTransform()

CoordinateSystemTrafo PlacedElement::getActualBodyTransform ( ) const
inline

◆ getBodyTransform()

CoordinateSystemTrafo PlacedElement::getBodyTransform ( ) const
inline

Definition at line 79 of file PlacedElement.h.

References geometry_m, getActualBodyTransform(), ElementGeometry::getBody(), and Port::getBodyToPort().

Referenced by TEST_F().

Here is the call graph for this function:

◆ getElement()

const ElementBase * PlacedElement::getElement ( ) const
inline

Definition at line 47 of file PlacedElement.h.

References element_m.

◆ getEntryTransform()

CoordinateSystemTrafo PlacedElement::getEntryTransform ( ) const
inline

Definition at line 75 of file PlacedElement.h.

References geometry_m, getActualBodyTransform(), Port::getBodyToPort(), and ElementGeometry::getEntry().

Referenced by TEST_F().

Here is the call graph for this function:

◆ getExitTransform()

CoordinateSystemTrafo PlacedElement::getExitTransform ( ) const
inline

Definition at line 83 of file PlacedElement.h.

References geometry_m, getActualBodyTransform(), Port::getBodyToPort(), and ElementGeometry::getExit().

Referenced by TEST_F().

Here is the call graph for this function:

◆ getGeometry()

const ElementGeometry & PlacedElement::getGeometry ( ) const
inline

Definition at line 50 of file PlacedElement.h.

References geometry_m.

Referenced by TEST_F().

◆ getMisalignment()

const Misalignment & PlacedElement::getMisalignment ( ) const
inline

Definition at line 49 of file PlacedElement.h.

References correction_m.

Referenced by OpalBeamline::getMisalignment(), and TEST_F().

◆ getNominalBodyPortTransform()

CoordinateSystemTrafo PlacedElement::getNominalBodyPortTransform ( ) const
inline

Definition at line 59 of file PlacedElement.h.

References geometry_m, ElementGeometry::getBody(), Port::getBodyToPort(), and getNominalBodyTransform().

Here is the call graph for this function:

◆ getNominalBodyTransform()

◆ getNominalEntryTransform()

CoordinateSystemTrafo PlacedElement::getNominalEntryTransform ( ) const
inline

Definition at line 55 of file PlacedElement.h.

References geometry_m, Port::getBodyToPort(), ElementGeometry::getEntry(), and getNominalBodyTransform().

Referenced by OpalBeamline::getNominalEntryTransform(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ getNominalExitTransform()

CoordinateSystemTrafo PlacedElement::getNominalExitTransform ( ) const
inline

Definition at line 63 of file PlacedElement.h.

References geometry_m, Port::getBodyToPort(), ElementGeometry::getExit(), and getNominalBodyTransform().

Referenced by OpalBeamline::getNominalExitTransform(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ getNominalSupportTransform()

CoordinateSystemTrafo PlacedElement::getNominalSupportTransform ( ) const
inline

Definition at line 67 of file PlacedElement.h.

References SupportPlacement::getBodyToSupport(), getNominalBodyTransform(), and support_m.

Here is the call graph for this function:

◆ getPlacementPose()

const PlacementPose & PlacedElement::getPlacementPose ( ) const
inline

Definition at line 48 of file PlacedElement.h.

References nominal_m.

◆ getSupportPlacement()

const SupportPlacement & PlacedElement::getSupportPlacement ( ) const
inline

Definition at line 51 of file PlacedElement.h.

References support_m.

◆ getSupportTransform()

CoordinateSystemTrafo PlacedElement::getSupportTransform ( ) const
inline

Definition at line 87 of file PlacedElement.h.

References getActualBodyTransform(), SupportPlacement::getBodyToSupport(), and support_m.

Referenced by TEST_F().

Here is the call graph for this function:

Member Data Documentation

◆ correction_m

Misalignment PlacedElement::correction_m
private

Definition at line 94 of file PlacedElement.h.

Referenced by getActualBodyTransform(), and getMisalignment().

◆ element_m

const ElementBase* PlacedElement::element_m
private

Definition at line 92 of file PlacedElement.h.

Referenced by getElement().

◆ geometry_m

◆ nominal_m

PlacementPose PlacedElement::nominal_m
private

◆ support_m

SupportPlacement PlacedElement::support_m
private

The documentation for this class was generated from the following file: