OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
AbstractTracker.h
Go to the documentation of this file.
1 #ifndef CLASSIC_AbstractTracker_HH
2 #define CLASSIC_AbstractTracker_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: AbstractTracker.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1.2.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: AbstractTracker
13 //
14 // ------------------------------------------------------------------------
15 // Class category: Algorithms
16 // ------------------------------------------------------------------------
17 //
18 // $Date: 2004/11/12 18:57:53 $
19 // $Author: adelmann $
20 //
21 // ------------------------------------------------------------------------
22 
24 #include "Algorithms/PartData.h"
25 
26 // Class AbstractTracker
27 // ------------------------------------------------------------------------
29 // An abstract base class for all visitors capable of tracking particles
30 // through a beam element.
31 // This class redefines all visitXXX() methods for elements as pure
32 // to force their implementation in derived classes.
33 
35 
36 public:
37 
38  // Particle coordinate numbers.
39  enum { X, PX, Y, PY, T, PT };
40 
42  // The beam line to be tracked is [b]bl[/b].
43  // The particle reference data are taken from [b]data[/b].
44  // If [b]revBeam[/b] is true, the beam runs from s = C to s = 0.
45  // If [b]revTrack[/b] is true, we track against the beam.
46  AbstractTracker(const Beamline &, const PartData &,
47  bool backBeam, bool backTrack);
48 
49  virtual ~AbstractTracker();
50 
51 protected:
52 
55 
56 private:
57 
58  // Not implemented.
61  void operator=(const AbstractTracker &);
62 };
63 
64 #endif // CLASSIC_AbstractTracker_HH
Track particles or bunches.
virtual ~AbstractTracker()
Particle reference data.
Definition: PartData.h:38
Default algorithms.
void operator=(const AbstractTracker &)
An abstract sequence of beam line components.
Definition: Beamline.h:37
const PartData itsReference
The reference information.