|
msl 1.3.0
|
Trapezoidal gradient pulse on three axes, with matching ramp and plateau durations on all axes and equal ramp up and ramp down durations.
#include <GradientPulse.h>
Public Member Functions | |
| GradientPulse () | |
| Create a 0-area gradient on all axes. | |
| GradientPulse (Vector3d const &litude, long rampDuration, long plateauDuration) | |
| Create a gradient pulse. | |
| GradientPulse (GradientPulse const &)=default | |
| GradientPulse (GradientPulse &&)=default | |
| GradientPulse & | operator= (GradientPulse const &)=default |
| GradientPulse & | operator= (GradientPulse &&)=default |
| ~GradientPulse ()=default | |
| GradientPulse & | update (GradientPulse const &pulse) |
| Update the gradients amplitudes and durations without changing the start time. | |
| Vector3d | amplitude () const |
| Return the gradient amplitude in mT/m. | |
| long | rampDuration () const |
| Return the ramp duration in µs. | |
| long | plateauDuration () const |
| Return the plateau duration in µs. | |
| long | duration () const |
| Return the total duration in µs. | |
| Vector3d | area () const |
| Return the total area in mT/m*µs. | |
| Vector3d | area (double begin, double end) const |
| Return a partial area in mT/m*µs. | |
| Vector3d | areaFrom (double begin) const |
| Return the area in mT/m*µs from begin to the end of the gradient pulse. | |
| Vector3d | areaTo (double end) const |
| Return the area in mT/m*µs from 0 to the requested end. | |
| Vector3d | rampArea () const |
| Return the ramp area in mT/m*µs. | |
| Vector3d | plateauArea () const |
| Return the plateau area in mT/m*µs. | |
| long | startTime () const |
| Return the start time in µs. | |
| GradientPulse & | setStartTime (long startTime) |
| Set the start time in µs. | |
| long | plateauTime () const |
| Return the start time of the plateau in µs. | |
| GradientPulse & | setPlateauTime (long plateauTime) |
| Set the start time of the plateau in µs. | |
| long | endTime () const |
| Return the end time in µs. | |
| GradientPulse & | setEndTime (long endTime) |
| Set the end time in µs. | |
| sGRAD_PULSE_TRAP const & | operator[] (std::size_t i) const |
| Return the internal gradient object. | |
| NLSStatus | run () |
| Run the non-0 gradients on the three axes. | |
| msl::GradientPulse::GradientPulse | ( | ) |
Create a 0-area gradient on all axes.
| msl::GradientPulse::GradientPulse | ( | Vector3d const & | amplitude, |
| long | rampDuration, | ||
| long | plateauDuration | ||
| ) |
Create a gradient pulse.
|
default |
|
default |
|
default |
|
default |
|
default |
| GradientPulse & msl::GradientPulse::update | ( | GradientPulse const & | pulse | ) |
Update the gradients amplitudes and durations without changing the start time.
| Vector3d msl::GradientPulse::amplitude | ( | ) | const |
Return the gradient amplitude in mT/m.
| long msl::GradientPulse::rampDuration | ( | ) | const |
Return the ramp duration in µs.
| long msl::GradientPulse::plateauDuration | ( | ) | const |
Return the plateau duration in µs.
| long msl::GradientPulse::duration | ( | ) | const |
Return the total duration in µs.
| Vector3d msl::GradientPulse::area | ( | ) | const |
Return the total area in mT/m*µs.
| Vector3d msl::GradientPulse::area | ( | double | begin, |
| double | end | ||
| ) | const |
Return a partial area in mT/m*µs.
If begin (resp. end) is negative, it is transformed to duration()-begin (resp. duration()-end).
| Vector3d msl::GradientPulse::areaFrom | ( | double | begin | ) | const |
Return the area in mT/m*µs from begin to the end of the gradient pulse.
The transform described in area(begin, end) applies.
| Vector3d msl::GradientPulse::areaTo | ( | double | end | ) | const |
Return the area in mT/m*µs from 0 to the requested end.
The transform described in area(begin, end) applies.
| Vector3d msl::GradientPulse::rampArea | ( | ) | const |
Return the ramp area in mT/m*µs.
| Vector3d msl::GradientPulse::plateauArea | ( | ) | const |
Return the plateau area in mT/m*µs.
| long msl::GradientPulse::startTime | ( | ) | const |
Return the start time in µs.
| GradientPulse & msl::GradientPulse::setStartTime | ( | long | startTime | ) |
Set the start time in µs.
| long msl::GradientPulse::plateauTime | ( | ) | const |
Return the start time of the plateau in µs.
| GradientPulse & msl::GradientPulse::setPlateauTime | ( | long | plateauTime | ) |
Set the start time of the plateau in µs.
| long msl::GradientPulse::endTime | ( | ) | const |
Return the end time in µs.
| GradientPulse & msl::GradientPulse::setEndTime | ( | long | endTime | ) |
Set the end time in µs.
| sGRAD_PULSE_TRAP const & msl::GradientPulse::operator[] | ( | std::size_t | i | ) | const |
Return the internal gradient object.
| NLSStatus msl::GradientPulse::run | ( | ) |
Run the non-0 gradients on the three axes.