12 "The \"ASYMMETRIC_ENGE\" element defines an enge field fall off for"
13 "plugging into analytical field models. The Asymmetric version"
14 "has different parameters for the start and end of the field.") {
16 "Offset of the central region of the enge element from the start.");
18 "Scales the field rise at the element entrance.");
20 "Polynomial coefficients for the Enge function at the element entrance.");
22 "Offset of the central region of the enge function element from the end.");
24 "Scales the field rise at the element exit.");
26 "Polynomial coefficients for the Enge function at the element exit.");
34 std::vector<double> aVecStart =
38 std::vector<double> aVecEnd =
42 std::make_shared<endfieldmodel::AsymmetricEnge>(aVecStart,
double getReal(const Attribute &attr)
Return real value.
Attribute makeReal(const std::string &name, const std::string &help)
Make real attribute.
Attribute makeRealArray(const std::string &name, const std::string &help)
Create real array attribute.
std::vector< double > getRealArray(const Attribute &attr)
Get array value.
const std::string & getOpalName() const
Return object name.
std::vector< Attribute > itsAttr
The object attributes.
static void setEndFieldModel(std::string name, std::shared_ptr< EndFieldModel > efm)
Add a value to the lookup table.
OpalEnge provides user interface information for the Enge and AsymmetricEnge objects.
virtual void update()
Update the ScalingFFA with new parameters from UI parser.
OpalAsymmetricEnge()
Default constructor initialises UI parameters.
virtual OpalAsymmetricEnge * clone(const std::string &name)
Inherited copy constructor.
virtual ~OpalAsymmetricEnge()
Destructor does nothing.
void registerOwnership() const