Free Electron
RampI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __shape_RampI_h__
8 #define __shape_RampI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief A function giving a Real result for a Real input
17 
18  Convention suggests a fairly strict domain of 0 to 1
19  and a usual range of 0 to 1.
20  An implementation is not required to enforce such limits.
21 
22  @ingroup shape
23 *//***************************************************************************/
24 class FE_DL_EXPORT RampI:
25  virtual public Component,
26  public CastableAs<RampI>
27 {
28  public:
29 virtual U32 entryCount(void) const =0;
30 virtual Vector2 entry(U32 a_index) const =0;
31 
32 virtual Real eval(Real a_u) const =0;
33 };
34 
35 } /* namespace ext */
36 } /* namespace fe */
37 
38 #endif /* __shape_RampI_h__ */
kernel
Definition: namespace.dox:3
Base for all interfacable components.
Definition: Component.h:20
A function giving a Real result for a Real input.
Definition: RampI.h:24
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192