msl 1.3.0
Loading...
Searching...
No Matches
msl::rf_pulses::Selective< TPulse > Class Template Reference

Detailed Description

template<typename TPulse>
class msl::rf_pulses::Selective< TPulse >

Selective RF pulse, i.e. played with a gradient pulse.

#include <Selective.h>

Public Member Functions

 Selective (Selective< TPulse > const &)=default
 Selective (Selective< TPulse > &&)=default
Selective< TPulse > & operator= (Selective< TPulse > const &)=default
Selective< TPulse > & operator= (Selective< TPulse > &&)=default
Type type () const override
 Return the type of the RF pulse.
Selective< TPulse > & setType (Type type) override
 Set the type of the RF pulse.
double flipAngle () const override
 Return the flip angle (deg).
Selective< TPulse > & setFlipAngle (double flipAngle) override
 Set the flip angle (deg).
double initialPhase () const override
 Return the initial phase of the RF pulse (deg).
Selective< TPulse > & setInitialPhase (double initialPhase) override
 Set the initial phase of the RF pulse (deg).
double additionalPhase () const override
 Return the additional phase of the RF pulse (deg).
Selective< TPulse > & setAdditionalPhase (double additionalPhase) override
 Set the additional phase of the RF pulse (deg).
long startTime () const override
 Return the start time of the gradient+RF pulse block (µs).
Selective< TPulse > & setStartTime (long startTime) override
 Set the start time of the gradient+RF pulse block (µs).
long duration () const override
 Return the duration of the gradient+RF pulse (µs).
Selective< TPulse > & setDuration (long duration) override
 Set the duration of the gradient+RF pulse (µs).
Selective< TPulse > & setRFDuration (long duration)
 Set the duration of the RF pulse (µs).
long samples () const override
 Return the number of discrete samples of the RF pulse.
Selective< TPulse > & setSamples (long samples) override
 Set the number of discrete samples of the RF pulse.
std::string ident () const override
 Return the user-defined name of the RF pulse.
Selective< TPulse > & setIdent (std::string const &ident) override
 Set the user-defined name of the RF pulse.
double gamma () const override
 Return the gyromagnetic ratio of the current nucleus (MHz/T).
long peakTime () const override
 Return the time of the RF peak amplitude (µs).
MrProtocolData::SeqExpoRFInfo rfInfo () const override
 Return the RF information for SAR computation.
double thickness () const
 Return the thickness.
Selective< TPulse > & setThickness (double thickness)
 Set the thickness.
TPulse const & rf () const
 Return a reference to the child RF pulse.
TPulse & rf ()
 Return a reference to the child RF pulse.
GradientPulse const & gradient () const
 Return a reference to the child gradient pulse.
Selective< TPulse > & setSlice (sSLICE_POS const &slice) override
 Set the slice used in prepare and run.
NLSStatus prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Prepare the real-time events.
NLSStatus run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override
 Run the real-time events.
Public Member Functions inherited from msl::RFPulse
 RFPulse (RFPulse const &)=default
 RFPulse (RFPulse &&)=default
RFPulse & operator= (RFPulse const &)=default
RFPulse & operator= (RFPulse &&)=default
long endTime () const override
 Return the end time of the RF pulse (µs).
Public Member Functions inherited from msl::RealTimeEvents
 RealTimeEvents ()
 No-op constructor.
 RealTimeEvents (RealTimeEvents const &)=default
 RealTimeEvents (RealTimeEvents &&)=default
RealTimeEventsoperator= (RealTimeEvents const &)=default
RealTimeEventsoperator= (RealTimeEvents &&)=default
sSLICE_POS const & slice () const
 Return the slice used in prepare and run.

Additional Inherited Members

Public Types inherited from msl::RFPulse
enum  Type { Undefined , Excitation , Refocussing , Store }
 Type of pulse, i.e. its role in the sequence.
Protected Attributes inherited from msl::RealTimeEvents
sSLICE_POS _slice
 Slice specifications attached to this real time object.

Member Function Documentation

◆ type()

template<typename TPulse>
Type msl::rf_pulses::Selective< TPulse >::type ( ) const
overridevirtual

Return the type of the RF pulse.

Implements msl::RFPulse.

◆ setType()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setType ( Type type)
overridevirtual

Set the type of the RF pulse.

Implements msl::RFPulse.

◆ flipAngle()

template<typename TPulse>
double msl::rf_pulses::Selective< TPulse >::flipAngle ( ) const
overridevirtual

Return the flip angle (deg).

Implements msl::RFPulse.

◆ setFlipAngle()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setFlipAngle ( double flipAngle)
overridevirtual

Set the flip angle (deg).

Implements msl::RFPulse.

◆ initialPhase()

template<typename TPulse>
double msl::rf_pulses::Selective< TPulse >::initialPhase ( ) const
overridevirtual

Return the initial phase of the RF pulse (deg).

Implements msl::RFPulse.

◆ setInitialPhase()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setInitialPhase ( double initialPhase)
overridevirtual

Set the initial phase of the RF pulse (deg).

Implements msl::RFPulse.

◆ additionalPhase()

template<typename TPulse>
double msl::rf_pulses::Selective< TPulse >::additionalPhase ( ) const
overridevirtual

Return the additional phase of the RF pulse (deg).

Implements msl::RFPulse.

◆ setAdditionalPhase()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setAdditionalPhase ( double additionalPhase)
overridevirtual

Set the additional phase of the RF pulse (deg).

Implements msl::RFPulse.

◆ startTime()

template<typename TPulse>
long msl::rf_pulses::Selective< TPulse >::startTime ( ) const
overridevirtual

Return the start time of the gradient+RF pulse block (µs).

Implements msl::RealTimeEvents.

◆ setStartTime()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setStartTime ( long startTime)
overridevirtual

Set the start time of the gradient+RF pulse block (µs).

Implements msl::RFPulse.

◆ duration()

template<typename TPulse>
long msl::rf_pulses::Selective< TPulse >::duration ( ) const
overridevirtual

Return the duration of the gradient+RF pulse (µs).

Implements msl::RFPulse.

◆ setDuration()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setDuration ( long duration)
overridevirtual

Set the duration of the gradient+RF pulse (µs).

Implements msl::RFPulse.

◆ samples()

template<typename TPulse>
long msl::rf_pulses::Selective< TPulse >::samples ( ) const
overridevirtual

Return the number of discrete samples of the RF pulse.

Implements msl::RFPulse.

◆ setSamples()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setSamples ( long samples)
overridevirtual

Set the number of discrete samples of the RF pulse.

Implements msl::RFPulse.

◆ ident()

template<typename TPulse>
std::string msl::rf_pulses::Selective< TPulse >::ident ( ) const
overridevirtual

Return the user-defined name of the RF pulse.

Implements msl::RFPulse.

◆ setIdent()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setIdent ( std::string const & ident)
overridevirtual

Set the user-defined name of the RF pulse.

Implements msl::RFPulse.

◆ gamma()

template<typename TPulse>
double msl::rf_pulses::Selective< TPulse >::gamma ( ) const
overridevirtual

Return the gyromagnetic ratio of the current nucleus (MHz/T).

Implements msl::RFPulse.

◆ peakTime()

template<typename TPulse>
long msl::rf_pulses::Selective< TPulse >::peakTime ( ) const
overridevirtual

Return the time of the RF peak amplitude (µs).

Implements msl::RFPulse.

◆ rfInfo()

template<typename TPulse>
MrProtocolData::SeqExpoRFInfo msl::rf_pulses::Selective< TPulse >::rfInfo ( ) const
overridevirtual

Return the RF information for SAR computation.

Implements msl::RealTimeEvents.

◆ setThickness()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setThickness ( double thickness)

Set the thickness.

Note
This field must be non-0 for prepare() to succeed

◆ setSlice()

template<typename TPulse>
Selective< TPulse > & msl::rf_pulses::Selective< TPulse >::setSlice ( sSLICE_POS const & slice)
overridevirtual

Set the slice used in prepare and run.

Reimplemented from msl::RealTimeEvents.

◆ prepare()

template<typename TPulse>
NLSStatus msl::rf_pulses::Selective< TPulse >::prepare ( MrProt & protocol,
SeqLim & limits,
SeqExpo & exports )
overridevirtual

Prepare the real-time events.

Implements msl::RealTimeEvents.

◆ run()

template<typename TPulse>
NLSStatus msl::rf_pulses::Selective< TPulse >::run ( MrProt & protocol,
SeqLim & limits,
SeqExpo & exports )
overridevirtual

Run the real-time events.

Implements msl::RealTimeEvents.


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