OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
BeamBeam.cpp
Go to the documentation of this file.
1 // ------------------------------------------------------------------------
2 // $RCSfile: BeamBeam.cpp,v $
3 // ------------------------------------------------------------------------
4 // $Revision: 1.1.1.1 $
5 // ------------------------------------------------------------------------
6 // Copyright: see Copyright.readme
7 // ------------------------------------------------------------------------
8 //
9 // Class: BeamBeam
10 // Defines the abstract interface for a beam-beam interaction.
11 //
12 // ------------------------------------------------------------------------
13 // Class category: AbsBeamline
14 // ------------------------------------------------------------------------
15 //
16 // $Date: 2000/03/27 09:32:31 $
17 // $Author: fci $
18 //
19 // ------------------------------------------------------------------------
20 
21 #include "AbsBeamline/BeamBeam.h"
23 
24 
25 // Class BeamBeam
26 // ------------------------------------------------------------------------
27 
29  Component()
30 {}
31 
32 
34  Component(right)
35 {}
36 
37 
38 BeamBeam::BeamBeam(const std::string &name):
39  Component(name)
40 {}
41 
42 
44 {}
45 
46 
47 void BeamBeam::accept(BeamlineVisitor &visitor) const {
48  visitor.visitBeamBeam(*this);
49 }
50 
51 void BeamBeam::initialise(PartBunchBase<double, 3> *bunch, double &startField, double &endField) {
52  RefPartBunch_m = bunch;
53 }
54 
56 {}
57 
58 bool BeamBeam::bends() const {
59  return false;
60 }
61 
62 void BeamBeam::getDimensions(double &zBegin, double &zEnd) const {
63 
64 }
65 
66 
68  return BEAMBEAM;
69 }
virtual void accept(BeamlineVisitor &) const
Apply visitor to BeamBeam.
Definition: BeamBeam.cpp:47
BeamBeam()
Definition: BeamBeam.cpp:28
virtual void initialise(PartBunchBase< double, 3 > *bunch, double &startField, double &endField)
Definition: BeamBeam.cpp:51
virtual ~BeamBeam()
Definition: BeamBeam.cpp:43
virtual void finalise()
Definition: BeamBeam.cpp:55
virtual bool bends() const
Definition: BeamBeam.cpp:58
virtual void getDimensions(double &zBegin, double &zEnd) const
Definition: BeamBeam.cpp:62
Abstract beam-beam interaction.
Definition: BeamBeam.h:37
PartBunchBase< double, 3 > * RefPartBunch_m
Definition: Component.h:200
virtual ElementBase::ElementType getType() const
Get element type std::string.
Definition: BeamBeam.cpp:67
const std::string name
virtual void visitBeamBeam(const BeamBeam &)=0
Apply the algorithm to a beam-beam interaction.
Interface for a single beam element.
Definition: Component.h:51
Abstract algorithm.