OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
BeamStrippingRep.h
Go to the documentation of this file.
1 #ifndef CLASSIC_BeamStrippingRep_HH
2 #define CLASSIC_BeamStrippingRep_HH
3 
4 // ------------------------------------------------------------------------
5 // $RCSfile: BeamStrippingRep.h,v $
6 // ------------------------------------------------------------------------
7 // $Revision: 1.1.1.1 $
8 // ------------------------------------------------------------------------
9 // Copyright: see Copyright.readme
10 // ------------------------------------------------------------------------
11 //
12 // Class: BeamStrippingRep
13 //
14 // ------------------------------------------------------------------------
15 // Class category: BeamlineCore
16 // ------------------------------------------------------------------------
17 // $Date: 2018/11 $
18 // $Author: PedroCalvo$
19 // ------------------------------------------------------------------------
20 
23 #include "Fields/NullField.h"
24 
25 
26 // Class BeamStrippingRep
27 // ------------------------------------------------------------------------
29 
31 
32 public:
33 
35  explicit BeamStrippingRep(const std::string &name);
36 
39  virtual ~BeamStrippingRep();
40 
42  // Return an identical deep copy of the element.
43  virtual ElementBase *clone() const;
44 
46  // This method constructs a Channel permitting read/write access to
47  // the attribute [b]aKey[/b] and returns it.
48  // If the attribute does not exist, it returns NULL.
49  virtual Channel *getChannel(const std::string &aKey, bool = false);
50 
51 // virtual double getPressure() const;
52 // void setPressure(double);
53 
55  // Version for non-constant object.
56  virtual NullField &getField();
57 
59  // Version for constant object.
60  virtual const NullField &getField() const;
61 
63  // Version for non-constant object.
64  virtual PlanarArcGeometry &getGeometry();
65 
67  // Version for constant object.
68  virtual const PlanarArcGeometry &getGeometry() const;
69 
71  // Return the image of the element, containing the name and type string
72  // of the element, and a copy of the user-defined attributes.
73  virtual ElementImage *getImage() const;
74 
75 
76 private:
77 
78  // Not implemented.
79  void operator=(const BeamStrippingRep &);
80 
81  // The zero magnetic field.
83 
84  // The geometry.
86 
87 };
88 
89 #endif // CLASSIC_BeamStrippingRep_HH
Interface for basic beam line object.
Definition: ElementBase.h:128
A simple arc in the XZ plane.
virtual ElementImage * getImage() const
Construct an image.
Representation for a beam stripping.
A zero electromagnetic field.
Definition: NullField.h:30
An image of an element.
Definition: ElementImage.h:35
PlanarArcGeometry geometry
virtual ElementBase * clone() const
Return clone.
Abstract interface for read/write access to variable.
Definition: Channel.h:32
virtual PlanarArcGeometry & getGeometry()
Get geometry.
const std::string name
virtual NullField & getField()
Get field.
virtual ~BeamStrippingRep()
virtual Channel * getChannel(const std::string &aKey, bool=false)
Construct a read/write channel.
void operator=(const BeamStrippingRep &)