API documentation
GradPulse Class Reference
Base class and prototype for all gradient pulses. More...
#include <GradPulse.h>
Inheritance diagram for GradPulse:
Collaboration diagram for GradPulse:Public Member Functions | |
| GradPulse () | |
| virtual | ~GradPulse () |
| GradPulse (const GradPulse &) | |
| virtual void | GetValue (double *dAllVal, double const time) |
| virtual double | GetGradient (double const time) |
| Get the value of the gradient pulse at time t. | |
| virtual bool | Prepare (PrepareMode mode) |
| see Module::Prepare() | |
| virtual bool | PrepareNLGfield (PrepareMode mode) |
| Preparation of Nonlinear Gradient fields. | |
| double | GetAreaNumeric (int steps) |
| get the area of this gradient pulse by numerical integration. | |
| void | SetArea (double val) |
| Set the area of this gradient pulse. | |
| void | SetNonLinGradField (double const time) |
| Set the nonlinear gradient field term World::NonLinGradField. | |
| bool | HasNonLinGrad () |
| Check, whether this gradient is nonlinear. | |
Protected Member Functions | |
| virtual string | GetInfo () |
Protected Attributes | |
| double | m_slew_rate |
| The slewrate of this gradient pulse. | |
| double | m_max_ampl |
| The maximum amplitude of this gradient pulse. | |
| double | m_area |
| The area of the gradient pulse. | |
| bool | m_non_lin_grad |
| A flag for nonlinear gradients. | |
| double | m_nlg_field |
| Nonlinear gradient field (NLG). | |
| double | m_nlg_px |
| x-position to compute the NLG field | |
| double | m_nlg_py |
| y-position to compute the NLG field | |
| double | m_nlg_pz |
| z-position to compute the NLG field | |
| double | m_nlg_val |
| gradient value to compute the NLG field | |
Detailed Description
Base class and prototype for all gradient pulses.
Definition at line 31 of file GradPulse.h.
Constructor & Destructor Documentation
| GradPulse::GradPulse | ( | ) |
Public Contructor
Definition at line 27 of file GradPulse.cpp.
References Attribute::GetAddress(), Prototype::GetAttribute(), Parameters::instance(), Prototype::IsPrepared(), m_area, Pulse::m_axis, m_max_ampl, m_nlg_field, m_nlg_px, m_nlg_py, m_nlg_pz, m_nlg_val, m_non_lin_grad, and m_slew_rate.
Here is the call graph for this function:| GradPulse::~GradPulse | ( | ) | [virtual] |
Public Destructor
Definition at line 50 of file GradPulse.cpp.
| GradPulse::GradPulse | ( | const GradPulse & | ) |
Copy constructor.
Member Function Documentation
| double GradPulse::GetAreaNumeric | ( | int | steps | ) |
get the area of this gradient pulse by numerical integration.
- Parameters:
-
steps The number of steps for integration.
- Returns:
- The gradient area.
Definition at line 152 of file GradPulse.cpp.
References Pulse::GetDuration(), and GetGradient().
Referenced by ExternalGradPulse::Prepare(), and AnalyticGradPulse::Prepare().
Here is the call graph for this function:
Here is the caller graph for this function:| virtual double GradPulse::GetGradient | ( | double const | time | ) | [inline, virtual] |
Get the value of the gradient pulse at time t.
This function has to be implemented for every gradient pulse.
- Parameters:
-
time The time at which the gradient value is requested.
- Returns:
- The gradient value.
Reimplemented in AnalyticGradPulse, ConstantGradPulse, ExternalGradPulse, SpiralGradPulse, TrapGradPulse, and TriangleGradPulse.
Definition at line 61 of file GradPulse.h.
Referenced by GetAreaNumeric(), GetValue(), and SetNonLinGradField().
Here is the caller graph for this function:| string GradPulse::GetInfo | ( | ) | [protected, virtual] |
Get informations on this Gradient
- Returns:
- Pulse::GetInfo plus The area of this gradient
Reimplemented from Pulse.
Reimplemented in AnalyticGradPulse, ConstantGradPulse, ExternalGradPulse, SpiralGradPulse, TrapGradPulse, and TriangleGradPulse.
Definition at line 164 of file GradPulse.cpp.
References Prototype::GetDOMattribute(), Prototype::HasDOMattribute(), and m_area.
Here is the call graph for this function:| void GradPulse::GetValue | ( | double * | dAllVal, | |
| double const | time | |||
| ) | [virtual] |
See Module::GetValue
Reimplemented from Pulse.
Definition at line 126 of file GradPulse.cpp.
References Pulse::GetDuration(), GetGradient(), and Pulse::m_axis.
Here is the call graph for this function:| bool GradPulse::HasNonLinGrad | ( | ) | [inline] |
Check, whether this gradient is nonlinear.
- Returns:
- True, if a nonlinear gradient
Definition at line 103 of file GradPulse.h.
References m_non_lin_grad.
| bool GradPulse::PrepareNLGfield | ( | PrepareMode | mode | ) | [virtual] |
Preparation of Nonlinear Gradient fields.
- Parameters:
-
mode for preparation
Definition at line 53 of file GradPulse.cpp.
References Attribute::EvalExpression(), Prototype::GetAttribute(), Prototype::GetDOMattribute(), Prototype::GetName(), Module::GetParent(), m_nlg_px, m_nlg_py, m_nlg_pz, m_nlg_val, m_non_lin_grad, Prototype::m_obs_attribs, Prototype::Observe(), Prototype::ReplaceString(), Attribute::SetMember(), and Attribute::SetObservable().
Referenced by Prepare().
Here is the call graph for this function:
Here is the caller graph for this function:| void GradPulse::SetArea | ( | double | val | ) |
Set the area of this gradient pulse.
- Parameters:
-
val Gradient area.
Definition at line 146 of file GradPulse.cpp.
References m_area.
Referenced by TriangleGradPulse::Prepare(), ConstantGradPulse::Prepare(), and TrapGradPulse::SetShape().
Here is the caller graph for this function:| void GradPulse::SetNonLinGradField | ( | double const | time | ) |
Set the nonlinear gradient field term World::NonLinGradField.
The method gets the current spin-position from the World, calculates the nonlinear gradient field, and writes it to the World.
- Parameters:
-
time The time at which the gradient value is requested.
Definition at line 136 of file GradPulse.cpp.
References Attribute::EvalCompiledNLGExpression(), Prototype::GetAttribute(), GetGradient(), World::instance(), and World::NonLinGradField.
Here is the call graph for this function:The documentation for this class was generated from the following files:












