OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
TrackIntegrator.cpp
Go to the documentation of this file.
1 // ------------------------------------------------------------------------
2 // $RCSfile: TrackIntegrator.cpp,v $
3 // ------------------------------------------------------------------------
4 // $Revision: 1.1.1.1 $
5 // ------------------------------------------------------------------------
6 // Copyright: see Copyright.readme
7 // ------------------------------------------------------------------------
8 //
9 // Class: TrackIntegrator
10 // An abstract base class for integrators.
11 // A TrackIntegrator propagates a single particle or particle bunch.
12 //
13 // ------------------------------------------------------------------------
14 // Class category: Algorithms
15 // ------------------------------------------------------------------------
16 //
17 // $Date: 2000/03/27 09:32:33 $
18 // $Author: fci $
19 //
20 // ------------------------------------------------------------------------
21 
24 #include "Utilities/LogicalError.h"
25 
26 
27 // Class TrackIntegrator
28 // ------------------------------------------------------------------------
29 
31  Integrator(elem)
32 {}
33 
34 
36  Integrator(rhs)
37 {}
38 
39 
41 {}
42 
43 
45  visitor.visitTrackIntegrator(*this);
46 }
47 
48 
50  bool, bool) const {
51  throw LogicalError("TrackIntegrator::trackMap()",
52  "You cannot track a map using a track integrator.");
53 }
virtual void trackMap(FVps< double, 6 > &map, const PartData &data, bool backBeam, bool backTrack) const
Track a map.
Interface for basic beam line object.
Definition: ElementBase.h:128
Particle reference data.
Definition: PartData.h:38
virtual void accept(BeamlineVisitor &visitor) const
Apply visitor.
virtual void visitTrackIntegrator(const TrackIntegrator &)=0
Apply the algorithm to an integrator capable of tracking.
Integrate particle.
Base class for special integrators.
Definition: Integrator.h:41
virtual ~TrackIntegrator()
Abstract algorithm.
Logical error exception.
Definition: LogicalError.h:33