23 #include <odinseq/seqclass.h>
24 #include <odinseq/seqvec.h>
25 #include <odinseq/seqphase.h>
26 #include <odinseq/seqdriver.h>
130 virtual SeqVector& get_mutable_freqlist_vector() {
if(marshall)
return marshall->get_mutable_freqlist_vector();
else marshall_error();
return get_dummyvec();}
131 virtual SeqVector& get_mutable_phaselist_vector() {
if(marshall)
return marshall->get_mutable_phaselist_vector();
else marshall_error();
return get_dummyvec();}
148 virtual bool prep_driver(
const STD_string& nucleus,
const dvector& freqlist) = 0;
149 virtual void prep_iteration(
double current_frequency,
double current_phase,
double freqchan_duration)
const = 0;
150 virtual int get_channel()
const = 0;
152 virtual STD_string get_iteratorcommand(
objCategory cat,
int freqlistindex)
const = 0;
153 virtual svector get_freqvec_commands(
const STD_string& iterator,
const STD_string& instr)
const = 0;
155 virtual STD_string get_pre_program(
programContext& context,
objCategory cat,
const STD_string& instr_label,
double default_frequency,
double default_phase)
const = 0;
160 virtual void pre_event (
eventContext& context,
double starttime)
const = 0;
161 virtual void post_event(
eventContext& context,
double starttime)
const = 0;
189 SeqFreqChan(
const STD_string& object_label,
const STD_string& nucleus,
226 double get_phase()
const {
return phaselistvec.get_phase();}
276 void pre_event (
eventContext& context,
double starttime)
const {freqdriver->pre_event(context,starttime);}
277 void post_event(
eventContext& context,
double starttime)
const {freqdriver->post_event(context,starttime);}
292 SeqVector& get_mutable_freqlist_vector() {
return *
this;}
293 SeqVector& get_mutable_phaselist_vector() {
return phaselistvec;}
296 double get_default_phase()
const {
return closest2zero(phaselistvec.get_phaselist());}
297 double get_default_frequency()
const {
return closest2zero(frequency_list);}
299 static double closest2zero(
const dvector& v);
302 virtual STD_string get_driver_instr_label()
const {
return "";}
309 STD_string nucleusName;
Acquisition + echo-planar imaging readout.
void marshall_error() const
virtual SeqFreqChanInterface & set_nucleus(const STD_string &nucleus)
virtual SeqFreqChanInterface & set_phaselist_reorder_scheme(reorderScheme scheme, unsigned int nsegments=1)
SeqFreqChanInterface & set_phasespoiling(unsigned int size=80, double incr=117.0, double offset=0.0)
virtual SeqFreqChanInterface & set_encoding_scheme(encodingScheme scheme)
virtual const SeqVector & get_reorder_vector() const
virtual const SeqVector & get_phaselist_reorder_vector() const
virtual SeqFreqChanInterface & set_reorder_scheme(reorderScheme scheme, unsigned int nsegments=1)
SeqFreqChanInterface & set_phase(double phaseval)
virtual SeqFreqChanInterface & set_phaselist(const dvector &phaselist)
SeqFreqChanInterface & set_freqoffset(double freqoffset)
virtual SeqFreqChanInterface & set_phaselist_encoding_scheme(encodingScheme scheme)
virtual const SeqVector & get_freqlist_vector() const
virtual SeqFreqChanInterface & set_freqlist(const dvector &freqlist)
virtual const SeqVector & get_phaselist_vector() const
SeqFreqChan(const STD_string &object_label, const STD_string &nucleus, const dvector &freqlist=0, const dvector &phaselist=0)
bool prep_iteration() const
const SeqVector & get_phaselist_vector() const
SeqFreqChanInterface & set_phaselist(const dvector &phaselist)
unsigned int get_phaselistindex() const
svector get_vector_commands(const STD_string &iterator) const
SeqFreqChan(const STD_string &object_label="unnamedSeqFreqChan")
virtual double get_frequency() const
SeqFreqChan(const SeqFreqChan &sfc)
const SeqVector & get_freqlist_vector() const
dvector get_freqlist() const
STD_string get_iteratorcommand(objCategory cat) const
bool is_qualvector() const
virtual double get_freqchan_duration() const
SeqFreqChan & operator=(const SeqFreqChan &sfc)
unsigned int get_vectorsize() const
SeqFreqChanInterface & set_nucleus(const STD_string &nucleus)
virtual unsigned int get_freqlistindex() const
SeqFreqChanInterface & set_freqlist(const dvector &freqlist)
SeqVector & set_reorder_scheme(reorderScheme scheme, unsigned int nsegments=1)
const SeqVector & get_reorder_vector() const
SeqVector & set_encoding_scheme(encodingScheme scheme)