class
IdealMapper
: public LinearMapper
(Return to index)
Build a map using the linear map around the design orbit for each element.
Ignores the following:
- Any misalignments,
- Any field errors,
- Any momentum errors.
Phase space coordinates numbering:
number | name | unit |
0 | x | metres |
1 | p_x/p_r | 1 |
2 | y | metres |
3 | p_y/p_r | 1 |
4 | v*delta_t | metres |
5 | delta_p/p_r | 1 |
Where pr is the constant reference momentum defining the reference
frame velocity, m is the rest mass of the particles, and v is the
instantaneous velocity of the particle.
Other units used:
quantity | unit |
reference momentum | electron-volts |
velocity | metres/second |
accelerating voltage | volts |
separator voltage | volts |
frequencies | hertz |
phase lags | 2*pi |
Approximations used:
- All elements are represented by maps for finite-length elements.
- Geometric transformations ignore rotations about transverse axes and
translations along the design orbit and truncate after first order.
- Beam-beam elements are ignored.
Type: |
Instantiable |
Superclasses: |
public LinearMapper |
Include file: |
./Algorithms/IdealMapper.hh |
Inheritance
Synopsis (including inherited members):
- Public members:
-
IdealMapper
(const Beamline&,const PartData&,bool,bool)
;
-
virtual ~IdealMapper
()
;
-
virtual void getMatrix
(FMatrix<double,6,6>&)const
;
-
virtual void setMatrix
(const FMatrix<double,6,6>&)
;
-
virtual void visitCorrector
(const Corrector&)
;
-
virtual void visitPatch
(const Patch&)
;
-
virtual void visitSeparator
(const Separator&)
;
-
virtual void visitAlignWrapper
(const AlignWrapper&)
;
-
virtual void visitCorrectorWrapper
(const CorrectorWrapper&)
;
-
virtual void visitMultipoleWrapper
(const MultipoleWrapper&)
;
-
virtual void visitRBendWrapper
(const RBendWrapper&)
;
-
virtual void visitSBendWrapper
(const SBendWrapper&)
;
-
virtual void getMap
(LinearMap<double,6>&)const
;
-
virtual void getMap
(FVps<double,6>&)const
;
-
virtual void setMap
(const LinearMap<double,6>&)
;
-
virtual void setMap
(const FVps<double,6>&)
;
-
virtual void visitBeamBeam
(const BeamBeam&)
;
-
virtual void visitCollimator
(const Collimator&)
;
-
virtual void visitComponent
(const Component&)
;
-
virtual void visitDiagnostic
(const Diagnostic&)
;
-
virtual void visitDrift
(const Drift&)
;
-
virtual void visitLambertson
(const Lambertson&)
;
-
virtual void visitMarker
(const Marker&)
;
-
virtual void visitMonitor
(const Monitor&)
;
-
virtual void visitMultipole
(const Multipole&)
;
-
virtual void visitRBend
(const RBend&)
;
-
virtual void visitRFCavity
(const RFCavity&)
;
-
virtual void visitRFQuadrupole
(const RFQuadrupole&)
;
-
virtual void visitSBend
(const SBend&)
;
-
virtual void visitSeptum
(const Septum&)
;
-
virtual void visitSolenoid
(const Solenoid&)
;
-
virtual void visitMapIntegrator
(const MapIntegrator&)
;
-
virtual void execute
()
;
-
virtual void visitBeamline
(const Beamline&)
;
-
virtual void visitFlaggedElmPtr
(const FlaggedElmPtr&)
;
-
virtual void visitIntegrator
(const Integrator&)
;
-
virtual void visitTrackIntegrator
(const TrackIntegrator&)
;
- Protected Members:
-
virtual void applyMultipoleBody
(double,double,const BMultipoleField&,double)
;
-
virtual void applySBendBody
(double,double,double,const BMultipoleField&,double)
;
-
virtual void applyThinMultipole
(const BMultipoleField&,double)
;
-
virtual void applyThinSBend
(const BMultipoleField&,double,double)
;
-
virtual void applyTransform
(const Euclid3D&,double)
;
-
void applyDrift
(double)
;
-
void applyEntranceFringe
(double,const BMultipoleField&,double)
;
-
void applyExitFringe
(double,const BMultipoleField&,double)
;
-
void applyLinearMap
(double,double,double,const FTps<double,2>&,const FTps<double,2>&)
;
-
FTps<double,2> buildSBendVectorPotential
(const BMultipoleField&,double)
;
-
LinearMap<double,6> itsMap
;
-
FTps<double,6> buildMultipoleVectorPotential
(const BMultipoleField&)
;
-
const PartData itsReference
;
-
const Beamline& itsLine
;
-
bool back_beam
;
-
bool back_track
;
-
bool local_flip
;
-
double flip_B
;
-
double flip_s
;
Documentation:
- Public members:
-
IdealMapper
(const Beamline&,const PartData&,bool,bool)
;
- Constructor.
The beam line to be tracked is bl.
The particle reference data are taken from data.
If revBeam is true, the beam runs from s = C to s = 0.
If revTrack is true, we track against the beam.
-
virtual void getMatrix
(FMatrix<double,6,6>&)const
;
- Return the linear part of the accumulated map.
-
virtual void setMatrix
(const FMatrix<double,6,6>&)
;
- Reset the linear part of the accumulated map for restart.
-
virtual void visitAlignWrapper
(const AlignWrapper&)
;
- Apply the algorithm to an offset beamline object wrapper.
Override to ignore misalignment.
-
virtual void visitCorrector
(const Corrector&)
;
- Apply the algorithm to a Corrector.
Override to ignore corrector kick.
-
virtual void visitCorrectorWrapper
(const CorrectorWrapper&)
;
- Apply the algorithm to an corrector wrapper..
-
virtual void visitMultipoleWrapper
(const MultipoleWrapper&)
;
- Apply the algorithm to an multipole wrapper..
-
virtual void visitPatch
(const Patch&)
;
- Apply the algorithm to a patch.
Override to ignore patch.
-
virtual void visitRBendWrapper
(const RBendWrapper&)
;
- Apply the algorithm to an RBend wrapper..
-
virtual void visitSBendWrapper
(const SBendWrapper&)
;
- Apply the algorithm to an SBend wrapper..
-
virtual void visitSeparator
(const Separator&)
;
- Apply the algorithm to a Separator.
Override to ignore separator kick.
- Protected members:
-
virtual void applyThinMultipole
(const BMultipoleField&,double)
;
- Thin multipole kick.
Apply a thin multipole kick (integrated over length) to current map.
-
virtual void applyThinSBend
(const BMultipoleField&,double,double)
;
- Thin SBend kick.
Special kick routine for thin SBend.
-
virtual void applyTransform
(const Euclid3D&,double)
;
- Apply transform.
Propagate current map through a geometric transformation.
Documentation generated by fci on Mon Feb 7 11:41:40 2000