OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
OpalSource.h
Go to the documentation of this file.
1 #ifndef OPAL_OPALSOURCE_HH
2 #define OPAL_OPALSOURCE_HH
3 
4 #include "Elements/OpalElement.h"
5 
6 
7 // Class OpalSource
8 // ------------------------------------------------------------------------
10 
11 class OpalSource: public OpalElement {
12 
13 public:
14 
16  enum {
17  DISTRIBUTION = COMMON, // The longitudinal magnetic field.
19  };
20 
22  OpalSource();
23 
24  virtual ~OpalSource();
25 
27  virtual OpalSource *clone(const std::string &name);
28 
30  virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag);
31 
33  virtual void update();
34 
35 private:
36 
37  // Not implemented.
38  OpalSource(const OpalSource &);
39  void operator=(const OpalSource &);
40 
41  // Clone constructor.
42  OpalSource(const std::string &name, OpalSource *parent);
43 };
44 
45 #endif // OPAL_OPALSOURCE_HH
The SOURCE element.
Definition: OpalSource.h:11
Interface for basic beam line object.
Definition: ElementBase.h:128
ValueFlag
Switch for value desired on ATTLIST command.
Definition: OpalElement.h:71
OpalSource()
Exemplar constructor.
Definition: OpalSource.cpp:12
virtual ~OpalSource()
Definition: OpalSource.cpp:32
virtual void fillRegisteredAttributes(const ElementBase &, ValueFlag)
Fill in all registered attributes.
Definition: OpalSource.cpp:42
Base class for all beam line elements.
Definition: OpalElement.h:41
const std::string name
virtual OpalSource * clone(const std::string &name)
Make clone.
Definition: OpalSource.cpp:36
void operator=(const OpalSource &)
virtual void update()
Update the embedded CLASSIC solenoid.
Definition: OpalSource.cpp:47