ODIN
Public Member Functions | Friends | List of all members

RF pulse. More...

#include <seqpuls.h>

Inheritance diagram for SeqPuls:
Inheritance graph
[legend]

Public Member Functions

 SeqPuls (const STD_string &object_label, const cvector &waveform, float pulsduration, float pulspower, const STD_string &nucleus="", const dvector &phaselist=0, const dvector &freqlist=0, float rel_magnetic_center=0.5)
 
 SeqPuls (const STD_string &object_label="unnamedSeqPuls")
 
 SeqPuls (const SeqPuls &sp)
 
SeqPulsoperator= (const SeqPuls &sp)
 
SeqPulsset_wave (const cvector &waveform)
 
cvector get_wave () const
 
double get_pulsstart () const
 
SeqPulsInterfaceset_pulsduration (float pulsduration)
 
double get_pulsduration () const
 
float get_flipangle () const
 
SeqPulsInterfaceset_flipangle (float flipangle)
 
float get_power () const
 
SeqPulsInterfaceset_power (float pulspower)
 
SeqPulsInterfaceset_rel_magnetic_center (float center)
 
float get_rel_magnetic_center () const
 
float get_magnetic_center () const
 
SeqPulsInterfaceset_pulse_type (pulseType type)
 
pulseType get_pulse_type () const
 
const SeqVectorget_flipangle_vector () const
 
SeqPulsInterfaceset_flipangle_reorder_scheme (reorderScheme scheme, unsigned int nsegments)
 
const SeqVectorget_flipangle_reorder_vector () const
 
double get_duration () const
 
STD_string get_program (programContext &context) const
 
double get_rf_energy () const
 
STD_string get_properties () const
 
unsigned int event (eventContext &context) const
 
SeqValList get_freqvallist (freqlistAction action) const
 
- Public Member Functions inherited from SeqPulsInterface
SeqPulsInterfaceset_flipangles (const fvector &flipangles)
 
fvector get_flipangles () const
 
- Public Member Functions inherited from SeqTreeObj
virtual RecoValList get_recovallist (unsigned int reptimes, LDRkSpaceCoords &coords) const
 
bool contains (const SeqTreeObj *sto) const
 
void tree (SeqTreeCallbackAbstract *display) const
 
virtual SeqValList get_delayvallist () const
 
- Public Member Functions inherited from SeqClass
SeqClassset_temporary ()
 
- Public Member Functions inherited from Labeled
 Labeled (const STD_string &label="unnamed")
 
Labeledset_label (const STD_string &label)
 
const STD_string & get_label () const
 
Labeledoperator= (const Labeled &l)
 
- Public Member Functions inherited from SeqFreqChanInterface
 operator const SeqVector & () const
 
virtual SeqFreqChanInterfaceset_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_reorder_vector () const
 
virtual SeqFreqChanInterfaceset_phaselist_encoding_scheme (encodingScheme scheme)
 
virtual SeqFreqChanInterfaceset_phaselist_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
virtual const SeqVectorget_phaselist_reorder_vector () const
 
SeqFreqChanInterfaceset_freqoffset (double freqoffset)
 
SeqFreqChanInterfaceset_phase (double phaseval)
 
SeqFreqChanInterfaceset_phasespoiling (unsigned int size=80, double incr=117.0, double offset=0.0)
 
- Public Member Functions inherited from SeqFreqChan
 SeqFreqChan (const STD_string &object_label="unnamedSeqFreqChan")
 
 SeqFreqChan (const STD_string &object_label, const STD_string &nucleus, const dvector &freqlist=0, const dvector &phaselist=0)
 
 SeqFreqChan (const SeqFreqChan &sfc)
 
virtual ~SeqFreqChan ()
 
SeqFreqChanoperator= (const SeqFreqChan &sfc)
 
int get_channel () const
 
dvector get_freqlist () const
 
double get_phase () const
 
virtual double get_frequency () const
 
unsigned int get_phaselistindex () const
 
virtual unsigned int get_freqlistindex () const
 
STD_string get_iteratorcommand (objCategory cat) const
 
SeqFreqChanInterfaceset_nucleus (const STD_string &nucleus)
 
SeqFreqChanInterfaceset_freqlist (const dvector &freqlist)
 
SeqFreqChanInterfaceset_phaselist (const dvector &phaselist)
 
const SeqVectorget_freqlist_vector () const
 
const SeqVectorget_phaselist_vector () const
 
unsigned int get_vectorsize () const
 
bool prep_iteration () const
 
bool is_qualvector () const
 
svector get_vector_commands (const STD_string &iterator) const
 
- Public Member Functions inherited from SeqVector
 SeqVector (const STD_string &object_label="unnamedSeqVector")
 
 SeqVector (const STD_string &object_label, unsigned int nindices, int slope=1, int offset=0)
 
 SeqVector (const SeqVector &sv)
 
virtual ~SeqVector ()
 
SeqVectoroperator= (const SeqVector &sv)
 
virtual unsigned int get_numof_iterations () const
 
virtual bool needs_unrolling_check () const
 
virtual int get_current_index () const
 
int get_acq_index () const
 
virtual bool is_acq_vector () const
 
virtual bool is_obj_vector () const
 
virtual STD_string get_loopcommand () const
 
SeqVectorset_indexvec (const ivector &iv)
 
ivector get_indexvec () const
 
SeqVectorset_reorder_scheme (reorderScheme scheme, unsigned int nsegments=1)
 
SeqVectorset_encoding_scheme (encodingScheme scheme)
 
const SeqVectorget_reorder_vector () const
 
virtual nestingRelation get_nesting_relation () const
 
iarray get_index_matrix () const
 
int get_current_reord_index () const
 
STD_string get_reord_iterator (const STD_string &iterator) const
 
- Public Member Functions inherited from SeqDur
 SeqDur (const STD_string &object_label, float duration)
 
 SeqDur (const STD_string &object_label="unnamedSeqDur")
 
 SeqDur (const SeqDur &sd)
 
SeqDurset_duration (float duration)
 
SeqDuroperator= (const SeqDur &sd)
 

Friends

class SeqFlipAngVector
 

Additional Inherited Members

- Protected Member Functions inherited from SeqTreeObj
virtual void query (queryContext &context) const
 
- Protected Member Functions inherited from SeqClass
void marshall_error () const
 
virtual void clear_container ()
 
- Protected Member Functions inherited from SeqVector
virtual svector get_reord_vector_commands (const STD_string &iterator) const
 
bool is_handled () const
 
- Static Protected Member Functions inherited from SeqClass
static void clear_temporary ()
 
static void clear_containers ()
 

Detailed Description

RF pulse.

This class represents a shaped RF-pulse with a complex waveform

Definition at line 257 of file seqpuls.h.

Constructor & Destructor Documentation

◆ SeqPuls() [1/3]

SeqPuls::SeqPuls ( const STD_string &  object_label,
const cvector waveform,
float  pulsduration,
float  pulspower,
const STD_string &  nucleus = "",
const dvector phaselist = 0,
const dvector freqlist = 0,
float  rel_magnetic_center = 0.5 
)

Constructs a pulse labeled 'object_label' with the following properties:

  • wave: The complex waveform that will be played out
  • pulsduration: The duration of the pulse
  • pulspower: The power of the pulse in dB
  • nucleus: This parameter determines the frequency at which the pulse will be played out to be the resonance frequency of the specified nucleus
  • phaselist: This is an array of phases at which the acquired pulse will be modulated. Use the get_phaselist_vector() function to attach it to a loop.
  • freqlist: This is an array of frequency offsets at which the pulse waveform will be modulated.
  • rel_magnetic_center: This parameter specifies the point in time that will be used as the center of the pulse for timing calculations, e.g. for a spin-echo

◆ SeqPuls() [2/3]

SeqPuls::SeqPuls ( const STD_string &  object_label = "unnamedSeqPuls")

Constructs an empty pulse with the given label.

◆ SeqPuls() [3/3]

SeqPuls::SeqPuls ( const SeqPuls sp)

Constructs a pulse which is a copy of 'sp'

Member Function Documentation

◆ event()

unsigned int SeqPuls::event ( eventContext context) const
virtual

Queries the sequence tree for events, returns the number of events executed

Reimplemented from SeqTreeObj.

◆ get_duration()

double SeqPuls::get_duration ( ) const
virtual

Returns the duration of the sequence object.

Reimplemented from SeqDur.

◆ get_flipangle()

float SeqPuls::get_flipangle ( ) const
inlinevirtual

Returns the flip angle of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 316 of file seqpuls.h.

◆ get_flipangle_reorder_vector()

const SeqVector& SeqPuls::get_flipangle_reorder_vector ( ) const
inlinevirtual

Returns the reorder vector for flipangles

Reimplemented from SeqPulsInterface.

Definition at line 329 of file seqpuls.h.

◆ get_flipangle_vector()

const SeqVector& SeqPuls::get_flipangle_vector ( ) const
inlinevirtual

Returns a sequence vector to iterate over flipangles

Reimplemented from SeqPulsInterface.

Definition at line 325 of file seqpuls.h.

◆ get_freqvallist()

SeqValList SeqPuls::get_freqvallist ( freqlistAction  action) const
virtual

Returns the list of frequency values in the objects branch of the sequence tree

Reimplemented from SeqTreeObj.

◆ get_magnetic_center()

float SeqPuls::get_magnetic_center ( ) const
virtual

Returns the absolute center of the pulse

Reimplemented from SeqPulsInterface.

◆ get_power()

float SeqPuls::get_power ( ) const
inlinevirtual

Returns the power deposition (or pulse attenuation on Bruker) of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 318 of file seqpuls.h.

◆ get_program()

STD_string SeqPuls::get_program ( programContext context) const
virtual

Returns the part in the pulse/gradient program of this sequence object. 'context' holds data about how the program should be generated, e.g. type of program and formatting.

Reimplemented from SeqTreeObj.

◆ get_properties()

STD_string SeqPuls::get_properties ( ) const
virtual

Returns a string describing the object

Reimplemented from SeqTreeObj.

◆ get_pulsduration()

double SeqPuls::get_pulsduration ( ) const
virtual

Returns the duration of the pulse. In case of a more complex pulse that needs some extra commands before and after the actual pulse will be played out, this function still returns the effective duration, i.e. when the RF-field is applied

Reimplemented from SeqPulsInterface.

◆ get_pulse_type()

pulseType SeqPuls::get_pulse_type ( ) const
virtual

Returns the type of the pulse

Reimplemented from SeqPulsInterface.

◆ get_pulsstart()

double SeqPuls::get_pulsstart ( ) const
inline

Returns the time offset within this object where the RF starts

Definition at line 310 of file seqpuls.h.

◆ get_rel_magnetic_center()

float SeqPuls::get_rel_magnetic_center ( ) const
inlinevirtual

Returns the relative center of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 321 of file seqpuls.h.

◆ get_rf_energy()

double SeqPuls::get_rf_energy ( ) const
virtual

Returns the RF power deposition in the objects branch of the sequence tree. The physical unit is unspecified, it depends on the current platform.

Reimplemented from SeqTreeObj.

◆ get_wave()

cvector SeqPuls::get_wave ( ) const
inline

Returns the complex RF waveform

Definition at line 305 of file seqpuls.h.

◆ operator=()

SeqPuls& SeqPuls::operator= ( const SeqPuls sp)

This assignment operator will make this pulse become an exact copy of 'sp'.

◆ set_flipangle()

SeqPulsInterface& SeqPuls::set_flipangle ( float  flipangle)
inlinevirtual

Sets the flip angle of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 317 of file seqpuls.h.

◆ set_flipangle_reorder_scheme()

SeqPulsInterface& SeqPuls::set_flipangle_reorder_scheme ( reorderScheme  scheme,
unsigned int  nsegments 
)
inlinevirtual

Sets the reordering scheme of the flipangle vector

Reimplemented from SeqPulsInterface.

Definition at line 328 of file seqpuls.h.

◆ set_power()

SeqPulsInterface& SeqPuls::set_power ( float  pulspower)
inlinevirtual

Sets the power deposition (or pulse attenuation on Bruker) of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 319 of file seqpuls.h.

◆ set_pulsduration()

SeqPulsInterface& SeqPuls::set_pulsduration ( float  pulsduration)
virtual

Sets the duration of the pulse. In case of a more complex pulse that needs some extra commands before and after the actual pulse will be played out, this function still sets the effective duration, i.e. when the RF-field is non-zero

Reimplemented from SeqPulsInterface.

◆ set_pulse_type()

SeqPulsInterface& SeqPuls::set_pulse_type ( pulseType  type)
virtual

Sets the type of the pulse

Reimplemented from SeqPulsInterface.

◆ set_rel_magnetic_center()

SeqPulsInterface& SeqPuls::set_rel_magnetic_center ( float  center)
inlinevirtual

Sets the relative center of the pulse

Reimplemented from SeqPulsInterface.

Definition at line 320 of file seqpuls.h.

◆ set_wave()

SeqPuls& SeqPuls::set_wave ( const cvector waveform)

Sets the complex waveform of the pulse


The documentation for this class was generated from the following file: