4#ifndef _8c24ac6b_445b_442f_a45b_1f44e54f5720
5#define _8c24ac6b_445b_442f_a45b_1f44e54f5720
9#include <MrGlobalDefinitions/MrResult.h>
11#include <MrMeasSrv/SeqIF/libRT/sFREQ_PHASE.h>
12#include <MrMeasSrv/SeqIF/libRT/sGRAD_PULSE.h>
13#include <MrMeasSrv/SeqIF/libRT/sREADOUT.h>
14#include <MrMeasSrv/SeqIF/libRT/sSLICE_POS.h>
35 this->_set.setStartTime(event.getStartTime());
38 this->_reset.setStartTime(
39 event.getStartTime()+std::ceil(event.getDuration()));
44 void update(sSLICE_POS
const & slice, T && pulse,
double additionalPhase=0)
46 this->_set.prepSet(slice, pulse);
47 this->_set.increasePhase(additionalPhase);
48 this->_reset.prepNeg(slice, pulse);
49 this->_reset.decreasePhase(additionalPhase);
54 sSLICE_POS
const & slice, sREADOUT
const & adc,
55 IGRAD_PULSE_BASE * gradient,
Vector3l const & point,
56 double additionalPhase=0);
61 sFREQ_PHASE _set, _reset;
Encapsulation of a pair of NCO objects, setting and resetting the frequency and the phase of the NCO ...
Definition NCOPair.h:26
void setTime(T &&event)
Set the frequency/phase at the start of the real-time and reset it at the end.
Definition NCOPair.h:33
void update(sSLICE_POS const &slice, sREADOUT const &adc, IGRAD_PULSE_BASE *gradient, Vector3l const &point, double additionalPhase=0)
Update the frequency and phase of readout gradient-related NCO.
void update(sSLICE_POS const &slice, T &&pulse, double additionalPhase=0)
Update the frequency and phase of a pulse-related NCO.
Definition NCOPair.h:44
NLS_STATUS run()
Run the NCO pair.
Top-level namespace of the msl library.
Definition acceleration.h:17
Vector< 3, long > Vector3l
3D vector of longs
Definition Vector.h:139