OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
AbstractTracker.h
Go to the documentation of this file.
1#ifndef OPALX_AbstractTracker_HH
2#define OPALX_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
25// Class AbstractTracker
26// ------------------------------------------------------------------------
28// An abstract base class for all visitors capable of tracking particles
29// through a beam element.
30// This class redefines all visitXXX() methods for elements as pure
31// to force their implementation in derived classes.
32
34public:
35 // Particle coordinate numbers.
36 enum { X, PX, Y, PY, T, PT };
37
39 // The beam line to be tracked is [b]bl[/b].
40 // If [b]revBeam[/b] is true, the beam runs from s = C to s = 0.
41 // If [b]revTrack[/b] is true, we track against the beam.
42 AbstractTracker(const Beamline&, bool backBeam, bool backTrack);
43
44 virtual ~AbstractTracker();
45
46private:
47 // Not implemented.
51};
52
53#endif // OPALX_AbstractTracker_HH
Track particles or bunches.
void operator=(const AbstractTracker &)
virtual ~AbstractTracker()
AbstractTracker(const AbstractTracker &)
An abstract sequence of beam line components.
Definition Beamline.h:34