1 #ifndef OPAL_TransportMapper_HH
2 #define OPAL_TransportMapper_HH
29 template <
class T,
int N>
class FTps;
30 template <
class T,
int N>
class FVps;
80 bool revBeam,
bool revTrack);
231 #endif // OPAL_TransportMapper_HH
virtual void visitSeptum(const Septum &)
Apply the algorithm to a Septum.
void applyThinSBend(const BMultipoleField &field, double scale, double h)
Thin SBend kick.
virtual void visitDrift(const Drift &)
Apply the algorithm to a Drift.
virtual void visitSBend(const SBend &)
Apply the algorithm to a SBend.
virtual void visitMonitor(const Monitor &)
Apply the algorithm to a Monitor.
virtual void visitPatch(const Patch &pat)
Apply the algorithm to a patch.
virtual void visitSeparator(const Separator &)
Apply the algorithm to a Separator.
Interface for septum magnet.
virtual void visitRFCavity(const RFCavity &)
Apply the algorithm to a RFCavity.
Interface for electrostatic separator.
virtual ~TransportMapper()
virtual void visitBeamStripping(const BeamStripping &)
Apply the algorithm to a BeamStripping.
Interface for beam position monitors.
Interface for RF Quadrupole.
A simple arc in the XZ plane.
virtual void visitAlignWrapper(const AlignWrapper &)
Apply the algorithm to an offset beamline object wrapper.
virtual void visitBeamBeam(const BeamBeam &)
Apply the algorithm to a BeamBeam.
Define the position of a misaligned element.
virtual void setMap(const LinearMap< double, 6 > &)
Reset the linear part of the accumulated map for restart.
Interface for general corrector.
Interface for beam diagnostics.
Interface for drift space.
virtual void visitMarker(const Marker &)
Apply the algorithm to a Marker.
virtual void visitMapIntegrator(const MapIntegrator &)
Apply the algorithm to an integrator capable of mapping.
Interface for general multipole.
void operator=(const TransportMapper &)
void applyDrift(double length)
virtual void visitRBend(const RBend &)
Apply the algorithm to a RBend.
virtual void getMap(LinearMap< double, 6 > &) const
Return the linear part of the accumulated map.
virtual void visitCorrector(const Corrector &)
Apply the algorithm to a Corrector.
virtual void visitCyclotronValley(const CyclotronValley &)
Apply the algorithm to a CyclotronValley.
virtual void visitCCollimator(const CCollimator &)
Apply the algorithm to a collimator.
Interface for cyclotron collimator.
virtual void visitFlexibleCollimator(const FlexibleCollimator &)
Apply the algorithm to a flexible collimator.
virtual void visitProbe(const Probe &)
Apply the algorithm to a probe.
Displacement and rotation in space.
Abstract beam-beam interaction.
void applyEntranceFringe(double edge, const BMultipoleField &field, double scale)
Interface for cyclotron valley.
An abstract sequence of beam line components.
virtual void visitComponent(const Component &)
Apply the algorithm to an arbitrary component.
virtual void visitDiagnostic(const Diagnostic &)
Apply the algorithm to a Diagnostic.
The magnetic field of a multipole.
virtual void visitLambertson(const Lambertson &)
Apply the algorithm to a Lambertson.
void applyTransform(const Euclid3D &, double refLength)
Apply transform.
void applyExitFringe(double edge, const BMultipoleField &field, double scale)
virtual void visitDegrader(const Degrader &)
Apply the algorithm to a Degrader.
virtual void visitMultipole(const Multipole &)
Apply the algorithm to a Multipole.
void applyTransportMap(double length, double refLength, double h, const FTps< double, 2 > &Fx, const FTps< double, 2 > &Fy)
void applySBendBody(double length, double refLength, double h, const BMultipoleField &field, double scale)
Truncated power series in N variables of type T.
TransportMap< double, 6 > itsMap
Interface for a geometric patch.
Interface for a single beam element.
void applyThinMultipole(const BMultipoleField &field, double factor)
Thin multipole kick.
FTps< double, 2 > buildSBendVectorPotential(const BMultipoleField &, double h)
Construct the vector potential for a SBend.
Build a map using a transport map for each elements.
Vector truncated power series in n variables.
virtual void visitParallelPlate(const ParallelPlate &)
Apply the algorithm to a ParallelPlate.
virtual void visitRFQuadrupole(const RFQuadrupole &)
Apply the algorithm to a RFQuadrupole.
void applyMultipoleBody(double length, double refLength, const BMultipoleField &field, double scale)
Interface for a Lambertson septum.
virtual void visitSolenoid(const Solenoid &)
Apply the algorithm to a Solenoid.