21 #include <tjutils/tjhandler.h>
23 #include <odinpara/ldrblock.h>
24 #include <odinpara/ldrnumbers.h>
25 #include <odinpara/ldrarrays.h>
26 #include <odinpara/odinpara.h>
30 #define _DEFAULT_B0_ 3000
31 #define _DEFAULT_MAX_SYSTEM_GRADIENT_ 0.04
32 #define _DEFAULT_MAX_SYSTEM_SLEWRATE_ 0.2
39 enum odinPlatform {standalone=0, paravision, numaris_4, epic, numof_platforms};
46 enum objCategory {unknownObj=0,delayObj,pulsObj,gradObj,loopObj,acqObj,freqObj,syncObj,endObj};
76 typedef STD_pair<STD_string, double> Nucleus;
77 typedef STD_list<Nucleus> NucList;
98 System(
const STD_string& object_label=
"unnamedSystem");
279 friend class SeqIdea;
280 friend class SeqParavision;
281 friend class SeqStandAlone;
282 friend class SeqEpic;
290 int append_all_members();
338 System& operator * () {
return *get_sysinfo_ptr();}
339 const System& operator * ()
const {
return *get_const_sysinfo_ptr();}
341 System* operator -> () {
return get_sysinfo_ptr();}
342 const System* operator -> ()
const {
return get_const_sysinfo_ptr();}
345 static void init_static();
346 static void destroy_static();
351 if(current_pf)
return odinPlatform(current_pf->operator int ());
359 friend class SeqIdea;
360 friend class SeqParavision;
361 friend class SeqStandAlone;
362 friend class SeqEpic;
366 static System* get_sysinfo_ptr();
367 static const System* get_const_sysinfo_ptr();
double get_nuc_freq(const STD_string &nucName, float B0) const
double get_gamma(const STD_string &nucName) const
LDRenum get_nuc_enum() const
Base class for methods (sequences)
double get_rasteredtime(objCategory cat, double time) const
LDRenum get_nuc_enum() const
System & set_transmit_coil_name(const STD_string &tcname)
STD_string get_receive_coil_name() const
STD_string get_transmit_coil_name() const
float get_grad_shift_delay() const
double get_nuc_freq(const STD_string &nucName="") const
float get_max_slew_rate() const
System & set_scandir(const STD_string &dir)
double get_gamma(const STD_string &nucName="") const
float get_inter_grad_delay() const
float get_max_grad() const
bool allowed_grad_freq(double freq, double &low, double &upp) const
System & set_receive_coil_name(const STD_string &rcname)
double get_rastertime(objCategory cat) const
STD_string get_platform_str() const
STD_string get_data_type() const
System & set_reference_gain(float refgain)
System & set_B0_from_freq(double freq, const STD_string &nucName="")
System & set_main_nucleus(const STD_string &nucname)
float get_reference_gain() const
System(const STD_string &object_label="unnamedSystem")
System & set_data_type(const STD_string &type)
STD_string get_scandir() const
float get_grad_switch_time(float graddiff) const
System & operator=(const System &s)
int get_max_grad_samples() const
System & set_B0(double b0)
STD_string get_main_nucleus() const
odinPlatform get_platform() const
double get_min_grad_rastertime() const
int get_max_rf_samples() const
double get_min_duration(objCategory c) const
int load(STD_string &str, const STD_string &filename)