4#ifndef _5ab5cca8_2d48_40c2_89b5_30f7c75ca92d
5#define _5ab5cca8_2d48_40c2_89b5_30f7c75ca92d
7#include <MrMeasSrv/SeqIF/libRT/sREADOUT.h>
91 double xStart,
double xEnd,
msl::KSpace const & kSpace);
106 MrProt & protocol, SeqLim & limits, SeqExpo & exports)
override;
108 MrProt & protocol, SeqLim & limits, SeqExpo & exports)
override;
110 MrProtocolData::SeqExpoRFInfo
rfInfo()
const override;
151 double _adcStartPosition, _adcEndPosition;
CartesianReadout & setIndex(msl::Vector2l const &index)
Set the index of the current point in the discrete ky-kz space.
long endTime() const override
Return the end time of the events.
CartesianReadout & setPhase(double phase)
Set the phase of the NCO during the readout.
msl::Vector3d areaAfterEcho() const
Return the area of the read-out gradient after the effective echo time.
CartesianReadout & setADCEndPosition(double x, msl::KSpace const &kspace)
Return the position on the x-axis the k-space at the end of the ADC, as a fraction of the k-space ext...
msl::Vector3d endPosition() const
Return the position in the k-space at the end of the gradient lobe.
CartesianReadout & setADCEndPosition(double k)
Set the position on the x-axis of the k-space at the end of the ADC.
msl::Vector3d areaBeforeADC() const
Return the area of the read-out gradient before the start of the ADC.
double adcStartPosition() const
Return the position on the x-axis the k-space at the start of the ADC.
msl::Vector3d areaBeforeEcho() const
Return the area of the read-out gradient before the effective echo time.
msl::Vector3d areaAfterADC() const
Return the area of the read-out gradient after the end of the ADC.
MrProtocolData::SeqExpoRFInfo rfInfo() const override
Return the RF information for SAR computation.
double phase() const
Return the phase of the NCO during the readout.
virtual ~CartesianReadout() override=default
CartesianReadout & setADCStartPosition(double x, msl::KSpace const &kspace)
Return the position on the x-axis the k-space at the start of the ADC, as a fraction of the k-space e...
CartesianReadout & setADCPosition(double xStart, double xEnd, msl::KSpace const &kSpace)
Return the position on the x-axis the k-space at the start and the end of the ADC,...
long startTime() const override
Return the start time of the events.
CartesianReadout & setEchoTime(long echoTime)
Set the effective echo time.
NLSStatus run(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Run the real-time events.
sREADOUT & adc()
Return a reference to the ADC real-time object, e.g. for updating its meta-data.
msl::Vector3d startPosition() const
Return the position in the k-space at the start of the gradient lobe.
msl::Vector2l index() const
Return the index of the current point in the discrete ky-kz space.
double adcEndPosition() const
Return the position on the x-axis the k-space at the end of the ADC.
CartesianReadout & operator=(CartesianReadout &&)=default
msl::GradientPulse const & gradient() const
Return the read-out gradient.
CartesianReadout & operator=(CartesianReadout const &)=default
CartesianReadout & setADCPosition(double kStart, double kEnd)
Set the position on the x-axis of the k-space at the start and the end of the ADC.
CartesianReadout(CartesianReadout &&)=default
NLSStatus prepare(MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
Prepare the real-time events.
CartesianReadout & setADCStartPosition(double k)
Set the position on the x-axis of the k-space at the start of the ADC.
long echoTime() const
Return the effective echo time.
CartesianReadout(CartesianReadout const &)=default
Trapezoidal gradient pulse on three axes, with matching ramp and plateau durations on all axes and eq...
Definition GradientPulse.h:19
Description of the discretized k-space geometry.
Definition KSpace.h:16
Encapsulation of a pair of NCO objects, setting and resetting the frequency and the phase of the NCO ...
Definition NCOPair.h:26
Definition acceleration.h:17
Vector< 2, long > Vector2l
2D vector of longs
Definition Vector.h:104
Vector< 3, double > Vector3d
3D vector of doubles
Definition Vector.h:110