OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Flatten< Member > Class Template Reference

Flatten a beamline. More...

#include <Flatten.h>

Inheritance diagram for Flatten< Member >:
Inheritance graph
[legend]
Collaboration diagram for Flatten< Member >:
Collaboration graph
[legend]

Public Member Functions

 Flatten (const Beamline &bl, TBeamline< Member > &mem, const RangeRep &range)
 Constructor. More...
 
virtual ~Flatten ()
 
virtual void execute ()
 Apply the algorithm to the top-level beamline. More...
 
- Public Member Functions inherited from RangeSelector
 RangeSelector (const Beamline &, const RangeRep &range)
 Constructor. More...
 
virtual ~RangeSelector ()
 
virtual void visitFlaggedElmPtr (const FlaggedElmPtr &)
 Apply the visitor to an FlaggedElmPtr. More...
 
- Public Member Functions inherited from DefaultVisitor
 DefaultVisitor (const Beamline &beamline, bool backBeam, bool backTrack)
 Constructor. More...
 
virtual ~DefaultVisitor ()=0
 
virtual void visitBeamBeam (const BeamBeam &)
 Apply the algorithm to a beam-beam. More...
 
virtual void visitBeamStripping (const BeamStripping &)
 Apply the algorithm to a beam stripping. More...
 
virtual void visitCCollimator (const CCollimator &)
 Apply the algorithm to a collimator. More...
 
virtual void visitComponent (const Component &)
 Apply the algorithm to an arbitrary component. More...
 
virtual void visitCyclotron (const Cyclotron &)
 Apply the algorithm to an cyclotron. More...
 
virtual void visitRing (const Ring &)
 Apply the algorithm to an opal ring.. More...
 
virtual void visitCorrector (const Corrector &)
 Apply the algorithm to a corrector. More...
 
virtual void visitDegrader (const Degrader &)
 Apply the algorithm to a drift. More...
 
virtual void visitDiagnostic (const Diagnostic &)
 Apply the algorithm to a diagnostic. More...
 
virtual void visitDrift (const Drift &)
 Apply the algorithm to a drift. More...
 
virtual void visitFlexibleCollimator (const FlexibleCollimator &)
 Apply the algorithm to a flexible collimator. More...
 
virtual void visitLambertson (const Lambertson &)
 Apply the algorithm to a Lambertson. More...
 
virtual void visitMarker (const Marker &)
 Apply the algorithm to a marker. More...
 
virtual void visitMonitor (const Monitor &)
 Apply the algorithm to a monitor. More...
 
virtual void visitMultipole (const Multipole &)
 Apply the algorithm to a multipole. More...
 
virtual void visitMultipoleT (const MultipoleT &)
 Apply the algorithm to a multipoleT. More...
 
virtual void visitMultipoleTStraight (const MultipoleTStraight &)
 Apply the algorithm to a multipoleTStraight. More...
 
virtual void visitMultipoleTCurvedConstRadius (const MultipoleTCurvedConstRadius &)
 Apply the algorithm to a multipoleTCurvedConstRadius. More...
 
virtual void visitMultipoleTCurvedVarRadius (const MultipoleTCurvedVarRadius &)
 Apply the algorithm to a multipoleTCurvedVarRadius. More...
 
virtual void visitOffset (const Offset &)
 Apply the algorithm to an Offset. More...
 
virtual void visitPatch (const Patch &pat)
 Apply the algorithm to a patch. More...
 
virtual void visitProbe (const Probe &prob)
 Apply the algorithm to a probe. More...
 
virtual void visitRBend (const RBend &)
 Apply the algorithm to a rectangular bend. More...
 
virtual void visitRBend3D (const RBend3D &)
 Apply the algorithm to a rectangular bend. More...
 
virtual void visitVariableRFCavity (const VariableRFCavity &vcav)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitVariableRFCavityFringeField (const VariableRFCavityFringeField &vcav)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitRFCavity (const RFCavity &)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitTravelingWave (const TravelingWave &)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitRFQuadrupole (const RFQuadrupole &)
 Apply the algorithm to a RF quadrupole. More...
 
virtual void visitSBend (const SBend &)
 Apply the algorithm to a sector bend. More...
 
virtual void visitSBend3D (const SBend3D &)
 Apply the algorithm to a sector bend. More...
 
virtual void visitScalingFFAMagnet (const ScalingFFAMagnet &)
 Apply the algorithm to a scaling FFA magnet. More...
 
virtual void visitVerticalFFAMagnet (const VerticalFFAMagnet &)
 Apply the algorithm to a RF cavity. More...
 
virtual void visitSeparator (const Separator &)
 Apply the algorithm to a separator. More...
 
virtual void visitSeptum (const Septum &)
 Apply the algorithm to a septum. More...
 
virtual void visitSolenoid (const Solenoid &)
 Apply the algorithm to a solenoid. More...
 
virtual void visitSource (const Source &)
 Apply the algorithm to a source. More...
 
virtual void visitParallelPlate (const ParallelPlate &)
 Apply the algorithm to a ParallelPlate. More...
 
virtual void visitCyclotronValley (const CyclotronValley &)
 Apply the algorithm to a CyclotronValley. More...
 
virtual void visitStripper (const Stripper &)
 Apply the algorithm to a charge stripper. More...
 
virtual void visitBeamline (const Beamline &)
 Apply the algorithm to a beam line. More...
 
virtual void visitAlignWrapper (const AlignWrapper &)
 Apply the algorithm to an align wrapper.. More...
 
virtual void visitCorrectorWrapper (const CorrectorWrapper &)
 Apply the algorithm to an corrector wrapper.. More...
 
virtual void visitCyclotronWrapper (const CyclotronWrapper &)
 Apply the algorithm to an cyclotron wrapper.. More...
 
virtual void visitMultipoleWrapper (const MultipoleWrapper &)
 Apply the algorithm to an multipole wrapper.. More...
 
virtual void visitRBendWrapper (const RBendWrapper &)
 Apply the algorithm to an RBend wrapper.. More...
 
virtual void visitSBendWrapper (const SBendWrapper &)
 Apply the algorithm to an SBend wrapper.. More...
 
virtual void visitIntegrator (const Integrator &)
 Apply the algorithm to a generic integrator. More...
 
virtual void visitMapIntegrator (const MapIntegrator &)
 Apply the algorithm to an integrator capable of mapping. More...
 
virtual void visitTrackIntegrator (const TrackIntegrator &)
 Apply the algorithm to an integrator capable of tracking. More...
 
- Public Member Functions inherited from BeamlineVisitor
 BeamlineVisitor ()
 
virtual ~BeamlineVisitor ()
 

Protected Member Functions

virtual void handleBeamline (const FlaggedElmPtr &)
 The operation to be done for beamlines. More...
 
virtual void handleElement (const FlaggedElmPtr &)
 The operation to be done for elements. More...
 

Protected Attributes

TBeamline< Member > & itsTable
 The flat list to be filled. More...
 
- Protected Attributes inherited from RangeSelector
RangeRep itsRange
 Working data for range. More...
 
- Protected Attributes inherited from DefaultVisitor
const BeamlineitsLine
 
bool back_beam
 
bool back_track
 
bool back_path
 
double flip_B
 
double flip_s
 

Private Member Functions

 Flatten ()
 
 Flatten (const Flatten< Member > &)
 
void operator= (const Flatten< Member > &)
 

Detailed Description

template<class Member>
class Flatten< Member >

Flatten a beamline.

Definition at line 42 of file Flatten.h.

Constructor & Destructor Documentation

template<class Member >
Flatten< Member >::Flatten ( const Beamline bl,
TBeamline< Member > &  mem,
const RangeRep range 
)
inline

Constructor.

Definition at line 80 of file Flatten.h.

template<class Member >
Flatten< Member >::~Flatten ( )
inlinevirtual

Definition at line 87 of file Flatten.h.

template<class Member >
Flatten< Member >::Flatten ( )
private
template<class Member >
Flatten< Member >::Flatten ( const Flatten< Member > &  )
private

Member Function Documentation

template<class Member >
void Flatten< Member >::execute ( )
inlinevirtual

Apply the algorithm to the top-level beamline.

Reimplemented from RangeSelector.

Definition at line 92 of file Flatten.h.

References RangeSelector::execute(), and Element::find().

Referenced by ThreadBpm::execute(), ThreadAll::execute(), Micado::execute(), Survey::execute(), and Twiss::execute().

Here is the call graph for this function:

template<class Member >
void Flatten< Member >::handleBeamline ( const FlaggedElmPtr fep)
inlineprotectedvirtual

The operation to be done for beamlines.

Reimplemented from RangeSelector.

Definition at line 100 of file Flatten.h.

References ElmPtr::getElement(), AlignWrapper::getEntranceTransform(), AlignWrapper::getExitTransform(), ElementBase::getName(), RangeSelector::handleBeamline(), ElementBase::makeAlignWrapper(), and PatchRep::setPatch().

Here is the call graph for this function:

template<class Member >
void Flatten< Member >::handleElement ( const FlaggedElmPtr fep)
protectedvirtual

The operation to be done for elements.

Reimplemented from RangeSelector.

Definition at line 128 of file Flatten.h.

References ElmPtr::getElement(), ElementBase::getName(), and name.

Here is the call graph for this function:

template<class Member >
void Flatten< Member >::operator= ( const Flatten< Member > &  )
private

Member Data Documentation

template<class Member >
TBeamline<Member>& Flatten< Member >::itsTable
protected

The flat list to be filled.

Definition at line 65 of file Flatten.h.


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