21 #include <tjutils/tjhandler.h>
23 #include <odinseq/seqpulsndim.h>
24 #include <odinseq/odinpulse.h>
25 #include <odinseq/seqgradtrapez.h>
52 SeqPulsar(
const STD_string& object_label =
"unnamedSeqPulsar",
bool rephased=
false,
bool interactive=
true);
118 static void init_static();
119 static void destroy_static();
124 bool operator != (
const SeqPulsar& sp)
const {
return !(*
this==sp);}
137 void update_B10andPower();
139 void create_rephgrads(
bool recreate)
const;
142 float rephaser_strength;
143 bool attenuation_set;
146 float rephase_integral[n_directions];
149 static void register_pulse(
SeqPulsar* pls);
150 static void unregister_pulse(
SeqPulsar* pls);
153 struct PulsarList :
public STD_list<const SeqPulsar*>,
public Labeled {};
249 SeqPulsarSinc(
const STD_string& object_label=
"unnamedSeqPulsarSinc",
float slicethickness=5.0,
bool rephased=
true,
float duration=2.0,
float flipangle=90.0,
float resolution=1.5,
unsigned int npoints=256);
284 SeqPulsarGauss(
const STD_string& object_label=
"unnamedSeqPulsarGauss",
float slicethickness=5.0,
bool rephased=
true,
float duration=1.0,
float flipangle=90.0,
unsigned int npoints=128);
316 SeqPulsarBP(
const STD_string& object_label=
"unnamedSeqPulsarBP",
float duration=1.0,
float flipangle=90.0,
const STD_string& nucleus=
"");
const STD_string & get_label() const
double get_flipangle() const
Base class for methods (sequences)
virtual pulseType get_pulse_type() const
SeqPulsarBP & operator=(const SeqPulsarBP &spb)
SeqPulsarBP(const STD_string &object_label="unnamedSeqPulsarBP", float duration=1.0, float flipangle=90.0, const STD_string &nucleus="")
SeqPulsarBP(const SeqPulsarBP &spb)
SeqPulsarGauss(const SeqPulsarGauss &spg)
SeqPulsarGauss(const STD_string &object_label="unnamedSeqPulsarGauss", float slicethickness=5.0, bool rephased=true, float duration=1.0, float flipangle=90.0, unsigned int npoints=128)
SeqPulsarGauss & operator=(const SeqPulsarGauss &spg)
float get_onramp_duration() const
SeqPulsarReph(const STD_string &object_label, const SeqPulsar &puls)
float get_offramp_duration() const
SeqPulsarReph(const SeqPulsarReph &spr)
SeqPulsarReph(const STD_string &object_label="unnamedSeqPulsarReph")
float get_constgrad_duration() const
SeqPulsarReph & operator=(const SeqPulsarReph &spr)
SeqPulsarSinc(const STD_string &object_label="unnamedSeqPulsarSinc", float slicethickness=5.0, bool rephased=true, float duration=2.0, float flipangle=90.0, float resolution=1.5, unsigned int npoints=256)
SeqPulsarSinc & operator=(const SeqPulsarSinc &sps)
SeqPulsarSinc(const SeqPulsarSinc &sps)
Pulsar pulses, combines OdinPulse and SeqPulsNdim.
SeqPulsar & set_rephased(bool rephased, float strength=0.0)
float get_strength() const
SeqPulsInterface & set_pulsduration(float pulsduration)
SeqPulsar(const SeqPulsar &sp)
SeqPulsar & operator=(const SeqPulsar &sp)
SeqPulsInterface & set_power(float pulspower)
pulseType get_pulse_type() const
fvector get_reph_gradintegral() const
SeqPulsInterface & set_flipangle(float flipangle)
STD_string get_properties() const
SeqPulsar & set_interactive(bool flag)
SeqPulsInterface & set_pulse_type(pulseType type)
SeqFreqChanInterface & set_nucleus(const STD_string &nucleus)
SeqPulsar(const STD_string &object_label="unnamedSeqPulsar", bool rephased=false, bool interactive=true)
float get_flipangle() const