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

Beamline component together with its active longitudinal field interval. More...

#include <BeamlineFieldElement.h>

Collaboration diagram for BeamlineFieldElement:
Collaboration graph

Public Member Functions

 BeamlineFieldElement (std::shared_ptr< Component >, const double &, const double &)
 
 ~BeamlineFieldElement ()
 
std::shared_ptr< ComponentgetElement ()
 
std::shared_ptr< const ComponentgetElement () const
 
double getLength () const
 
const double & getStart () const
 
const double & getEnd () const
 
void setStart (const double &z)
 
void setEnd (const double &z)
 
const bool & isOn () const
 
void setOn (const double &kinematicEnergy)
 
void setOff ()
 
BoundingBox getBoundingBoxInLabCoords () const
 

Static Public Member Functions

static bool SortAsc (const BeamlineFieldElement &fle1, const BeamlineFieldElement &fle2)
 
static bool ZeroLength (const BeamlineFieldElement &fle)
 

Public Attributes

unsigned int order_m
 

Private Attributes

std::shared_ptr< Componentelement_m
 
double start_m
 
double end_m
 
bool is_on_m
 

Detailed Description

Beamline component together with its active longitudinal field interval.

BeamlineFieldElement is the tracking-side record used by OpalBeamline to keep a component pointer, its start/end field positions, and its online/offline state during tracking.

Definition at line 16 of file BeamlineFieldElement.h.

Constructor & Destructor Documentation

◆ BeamlineFieldElement()

BeamlineFieldElement::BeamlineFieldElement ( std::shared_ptr< Component element,
const double &  start,
const double &  end 
)

Definition at line 5 of file BeamlineFieldElement.cpp.

◆ ~BeamlineFieldElement()

BeamlineFieldElement::~BeamlineFieldElement ( )

Definition at line 9 of file BeamlineFieldElement.cpp.

References element_m.

Member Function Documentation

◆ getBoundingBoxInLabCoords()

BoundingBox BeamlineFieldElement::getBoundingBoxInLabCoords ( ) const
inline

Definition at line 70 of file BeamlineFieldElement.h.

References element_m.

◆ getElement() [1/2]

std::shared_ptr< Component > BeamlineFieldElement::getElement ( )
inline

Definition at line 52 of file BeamlineFieldElement.h.

References element_m.

◆ getElement() [2/2]

std::shared_ptr< const Component > BeamlineFieldElement::getElement ( ) const
inline

Definition at line 54 of file BeamlineFieldElement.h.

References element_m.

◆ getEnd()

const double & BeamlineFieldElement::getEnd ( ) const
inline

Definition at line 62 of file BeamlineFieldElement.h.

References end_m.

◆ getLength()

double BeamlineFieldElement::getLength ( ) const
inline

Definition at line 58 of file BeamlineFieldElement.h.

References end_m, and start_m.

Referenced by ZeroLength().

◆ getStart()

const double & BeamlineFieldElement::getStart ( ) const
inline

Definition at line 60 of file BeamlineFieldElement.h.

References start_m.

◆ isOn()

const bool & BeamlineFieldElement::isOn ( ) const
inline

Definition at line 64 of file BeamlineFieldElement.h.

References is_on_m.

◆ setEnd()

void BeamlineFieldElement::setEnd ( const double &  z)
inline

Definition at line 68 of file BeamlineFieldElement.h.

References end_m.

◆ setOff()

void BeamlineFieldElement::setOff ( )

Definition at line 19 of file BeamlineFieldElement.cpp.

References element_m, gmsg, and is_on_m.

◆ setOn()

void BeamlineFieldElement::setOn ( const double &  kinematicEnergy)

Definition at line 11 of file BeamlineFieldElement.cpp.

References element_m, gmsg, and is_on_m.

◆ setStart()

void BeamlineFieldElement::setStart ( const double &  z)
inline

Definition at line 66 of file BeamlineFieldElement.h.

References start_m.

◆ SortAsc()

static bool BeamlineFieldElement::SortAsc ( const BeamlineFieldElement fle1,
const BeamlineFieldElement fle2 
)
inlinestatic

Definition at line 31 of file BeamlineFieldElement.h.

References element_m, and start_m.

Referenced by OpalBeamline::prepareSections(), and OpalBeamline::save3DLattice().

◆ ZeroLength()

static bool BeamlineFieldElement::ZeroLength ( const BeamlineFieldElement fle)
inlinestatic

Definition at line 37 of file BeamlineFieldElement.h.

References getLength().

Here is the call graph for this function:

Member Data Documentation

◆ element_m

std::shared_ptr<Component> BeamlineFieldElement::element_m
private

◆ end_m

double BeamlineFieldElement::end_m
private

Definition at line 46 of file BeamlineFieldElement.h.

Referenced by getEnd(), getLength(), and setEnd().

◆ is_on_m

bool BeamlineFieldElement::is_on_m
private

Definition at line 47 of file BeamlineFieldElement.h.

Referenced by isOn(), setOff(), and setOn().

◆ order_m

unsigned int BeamlineFieldElement::order_m

Definition at line 41 of file BeamlineFieldElement.h.

Referenced by OpalBeamline::save3DLattice().

◆ start_m

double BeamlineFieldElement::start_m
private

Definition at line 45 of file BeamlineFieldElement.h.

Referenced by getLength(), getStart(), setStart(), and SortAsc().


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