21 #include <tjutils/tjhandler.h>
23 #include <odinseq/seqobj.h>
24 #include <odinseq/seqfreq.h>
25 #include <odinseq/seqvec.h>
26 #include <odinseq/seqdriver.h>
140 virtual const SeqVector* get_dephgrad(
SeqGradChanParallel& dephobj,
bool rephase)
const {
if(marshall)
return marshall->get_dephgrad(dephobj,rephase);
return 0;}
169 virtual bool prep_driver(
kSpaceCoord& recoindex,
double sweepwidth,
unsigned int nAcqPoints,
double acqcenter,
int freqchannel) = 0;
181 virtual void event(
eventContext& context,
double start)
const = 0;
183 virtual STD_string get_program(
programContext& context,
unsigned int phaselistindex)
const = 0;
185 virtual STD_string get_instr_label()
const = 0;
187 virtual unsigned int get_numof_channels()
const = 0;
224 SeqAcq(
const STD_string& object_label,
unsigned int nAcqPoints,
double sweepwidth,
225 float os_factor=1.0,
const STD_string& nucleus=
"",
238 SeqAcq(
const STD_string& object_label=
"unnamedSeqAcq");
314 friend class SeqEpiDriverParavision;
315 friend class SeqEpiDriverEpic;
322 STD_string get_driver_instr_label()
const {
return acqdriver->get_instr_label();}
344 Handler<const SeqVector*>** dimvec;
346 int default_recoindex[n_recoIndexDims];
virtual bool prep_driver(kSpaceCoord &recoindex, double sweepwidth, unsigned int nAcqPoints, double acqcenter, int freqchannel)=0
virtual double get_predelay() const =0
virtual double adjust_sweepwidth(double desired_sweep_widht) const =0
virtual double get_postdelay(double sweepwidth) const =0
virtual double get_sweepwidth() const
virtual double get_acquisition_center() const
virtual unsigned int get_npts() const
virtual SeqAcqInterface & set_readout_shape(const fvector &shape, unsigned int dstsize)
virtual SeqAcqInterface & set_reco_vector(recoDim dim, const SeqVector &vec, const dvector &valvec=dvector())
virtual SeqAcqInterface & set_sweepwidth(double sw, float os_factor)
virtual double get_acquisition_start() const
virtual float get_oversampling() const
virtual SeqAcqInterface & set_reflect_flag(bool flag)
virtual SeqAcqInterface & set_template_type(templateType type)
virtual SeqAcqInterface & set_default_reco_index(recoDim dim, unsigned int index)
virtual double get_acquisition_duration() const
SeqAcq & set_npts(unsigned int nAcqPoints)
SeqAcq & operator=(const SeqAcq &sa)
void set_weight_vec(const cvector &weightVec)
SeqAcqInterface & set_default_reco_index(recoDim dim, unsigned int index)
void set_kspace_traj(const farray &kspaceTraj)
SeqAcqInterface & set_readout_shape(const fvector &shape, unsigned int dstsize)
double get_acquisition_start() const
RecoValList get_recovallist(unsigned int reptimes, LDRkSpaceCoords &coords) const
SeqAcq(const STD_string &object_label="unnamedSeqAcq")
SeqAcq & set_rel_center(double relative_kspace_center)
void query(queryContext &context) const
double get_duration() const
SeqAcqInterface & set_reflect_flag(bool flag)
float get_oversampling() const
double get_acquisition_duration() const
STD_string get_program(programContext &context) const
STD_string get_properties() const
const kSpaceCoord & get_kcoord() const
SeqAcq(const STD_string &object_label, unsigned int nAcqPoints, double sweepwidth, float os_factor=1.0, const STD_string &nucleus="", const dvector &phaselist=0, const dvector &freqlist=0)
double get_sweepwidth() const
unsigned int event(eventContext &context) const
SeqAcqInterface & set_sweepwidth(double sw, float os_factor)
unsigned int get_npts() const
SeqAcqInterface & set_reco_vector(recoDim dim, const SeqVector &vec, const dvector &valvec=dvector())
double get_acquisition_center() const
SeqValList get_freqvallist(freqlistAction action) const
double get_sweep_width() const
void marshall_error() const
Base class for methods (sequences)
virtual void query(queryContext &context) const
tjvector< double > dvector
double secureDivision(double numerator, double denominator)