JEMRIS  2.8.1
open-source MRI simulations
List of all members | Public Member Functions | Private Member Functions | Private Attributes
ExternalRFPulse Class Reference

RF pulse with external pulse shape. More...

#include <ExternalRFPulse.h>

+ Inheritance diagram for ExternalRFPulse:
+ Collaboration diagram for ExternalRFPulse:

Public Member Functions

 ExternalRFPulse ()
 Default constructor.
 
 ExternalRFPulse (const ExternalRFPulse &)
 Copy constructor.
 
 ~ExternalRFPulse ()
 Default destructor.
 
ExternalRFPulseClone () const
 
virtual bool Prepare (const PrepareMode mode)
 Prepare the hard RF pulse. More...
 
virtual void SetTPOIs ()
 
virtual double GetMagnitude (const double time)
 Returns a constant Magnitidue for all times. More...
 
ExternalPulseDataGetPulseData ()
 Get function pointer to phase evaluation.
 
- Public Member Functions inherited from RFPulse
 RFPulse ()
 Contructor.
 
virtual ~RFPulse ()
 Default destructor.
 
 RFPulse (const RFPulse &rfp)
 Default copy constructor.
 
virtual void GetValue (double *dAllVal, double const time)
 see Module::GetValue()
 
virtual double GetIntegralNumeric (int steps)
 Get the B1 integral of this pulse. More...
 
double GetFlipAngle () const
 Get the flip angle of this pulse. More...
 
void SetFlipAngle (const double fa)
 Set the flip angle of this RF pulse. More...
 
int GetChannel () const
 Get the CoilArray channel of this pulse. More...
 
void SetChannel (int ch)
 Set the CoilArray channel of this RF pulse. More...
 
double GetBandWidth ()
 Get the band width of this pulse. More...
 
void insertGetPhaseFunction (double(*FGetPhase)(Module *, double))
 Add another phase function for this RF pulse. More...
 
void SetCoilArray (CoilArray *pCA)
 Set the CoilArray for this RF pulse. More...
 
CoilArrayGetCoilArray ()
 Get the CoilArray for this RF pulse. More...
 
virtual void GenerateEvents (std::vector< Event * > &events)
 
- Public Member Functions inherited from Pulse
 Pulse ()
 Construct and initialise some values.
 
virtual ~Pulse ()
 Default destructor.
 
 Pulse (const Pulse &)
 Copy constructor.
 
virtual void GetValue (double *dAllVal, double const time) const
 
void SetDuration (double val)
 Set the duration of this pulse. More...
 
double GetDuration ()
 
void SetAxis (const PulseAxis eAxis)
 Set the Axis of propagation of this pulse. More...
 
PulseAxis GetAxis () const
 Get the Axis of propagation of this pulse. More...
 
int GetNADC ()
 
void SetNADC (unsigned int nadc)
 Set number of ADCs. More...
 
double GetInitialDelay ()
 Get delay in respect of the AtomicSequence holding this pulse. More...
 
void SetPhaseLock (bool val)
 Set phase lock. More...
 
bool GetPhaseLock ()
 Get phase lock. More...
 
- Public Member Functions inherited from Module
 Module ()
 Constructor. More...
 
virtual ~Module ()
 Destructor. More...
 
 Module (const Module &)
 Copy constructor. More...
 
void Initialize (DOMNode *node)
 Initialize this module. More...
 
ModuleGetParent ()
 Get Parent. More...
 
virtual int GetNumOfTPOIs ()
 Get the Number of TPOIs of this module. More...
 
vector< Module * > GetChildren () const
 Get Children. More...
 
ModuleGetChild (unsigned int position) const
 Get Child. More...
 
int GetNumberOfChildren () const
 Get number of Children. More...
 
bool InsertChild (const string &name)
 Insert Child. More...
 
virtual ModuleGetPrototypeByAttributeValue (string name, string attrib)
 Get a Prototype by value of an attribute. More...
 
bool AddDOMattribute (const string attribute, const string value)
 Add attribute and value to the DOM node of this module. More...
 
void AddAllDOMattributes (bool show_hidden=true)
 
virtual TPOIGetTPOIs ()
 get the TPOIs of this module More...
 
void DumpTree (const string &file="", Module *mod=NULL, int ichild=0, int level=0)
 Dump the sequence tree. More...
 
int GetDepth (int depth=0)
 Return tree depth from this module (including depth of Containers) More...
 
int GetHardwareMode ()
 Return the hardware mode of this module. More...
 
bool WriteStaticXML (const string &xml_file)
 Rewrite XML-tree where all expressions are evaluated (for IDEA) More...
 
bool StaticDOM (DOMDocument *doc, DOMNode *node, bool append=true)
 Create a DOM tree where all expressions are evaluated (for IDEA) More...
 
void SetSeqTree (SequenceTree *pST)
 
SequenceTreeGetSeqTree ()
 
- Public Member Functions inherited from Prototype
 Prototype ()
 Constructor. More...
 
virtual ~Prototype ()
 Default destructor. More...
 
 Prototype (const Prototype &)
 Default copy constructor. More...
 
bool IsPrepared ()
 Check if the Prototype is prepared. More...
 
void SetName (string name)
 Set the name of this module. More...
 
DOMNode * GetNode ()
 Get the DOMNode of this module. More...
 
void SetNode (DOMNode *node)
 Set the DOMNode of this module. More...
 
string GetClassType ()
 Get the class type of this prototype. More...
 
Type GetType ()
 Get the module type of this module. More...
 
string GetDOMattribute (const string attribute)
 Get attribute value from the DOMNode. More...
 
bool HasDOMattribute (const string attribute)
 Check, if attribute exists in DOM node of this module. More...
 
AttributeGetAttribute (string name)
 Get an Attribute. More...
 
void CopyObservers (Attribute *a1, Attribute *a2)
 Copy observers from one attribute to another. More...
 
bool HasAttribute (string name)
 Check if an attribute exist. More...
 
void HideAttribute (string attrib, bool observable=true)
 Hide an attribute. More...
 
string GetName ()
 Get the name of this module. More...
 
bool Observe (Attribute *attrib, string prot_name, string attrib_name, bool verbose)
 Set up the list of observations. More...
 
bool Observe (Attribute *attrib, string prot_name, string attrib_name, string attrib_keyword, bool verbose)
 
template<typename T >
bool Notify (const T &val)
 Notify all observers of an attribute. More...
 
template<typename T >
bool NewState (const T &val)
 Check the state of an attribute. More...
 
vector< double > * GetVector ()
 Each Prototype has a double vector as a private member, which values can be filled through XML and accessed from attributes within the same Prototype. More...
 
- Public Member Functions inherited from TxRxPhase
 TxRxPhase ()
 Constructor.
 
virtual ~TxRxPhase ()
 Default destructor.
 
void SetInitialPhase (double val)
 Get phase of this pulse. More...
 
bool GetPhaseLock ()
 Get phase lock of this pulse.
 
void SetPhaseLock (bool bval)
 Set phase lock of this pulse. More...
 
double GetInitialPhase ()
 Get initial phase of this pulse.
 
double GetFrequency ()
 Get constant frequency for linear phase terms. More...
 
void SetFrequency (double val)
 Set constant frequency for linear phase terms. More...
 

Private Member Functions

string GetInfo ()
 Get informations on this external gradient. More...
 

Private Attributes

ExternalPulseData m_pulse_data
 
string m_fname
 Filename containing the RF amps and phases.
 
double m_scale
 Scaling factor for the amps.
 
bool m_interp
 if true, linear interpolation is applied
 

Additional Inherited Members

- Static Public Member Functions inherited from Prototype
static bool ReplaceString (string &str, const string &s1, const string &s2)
 A global sub-string replacer. More...
 
static bool ReplaceSymbolString (string &str, const string &s1, const string &s2)
 A global sub-string replacer which replaces only complete symbol strings.
 
static vector< string > Tokenize (const string &str, const string &delimiters=",")
 A global string tokenizer. More...
 
- Static Public Member Functions inherited from TxRxPhase
static double getLinearPhase (Module *mod, double time)
 A general purpose linear additive phase term. More...
 
- Protected Attributes inherited from RFPulse
double m_flip_angle
 Flipangle of this pulse.
 
double m_bw
 Bandwidth of this pulse.
 
int m_channel
 Transmit channel of this pulse.
 
bool m_refocusing
 Refocussing pulse?
 
double m_symmetry
 KSpace symmetry.
 
CoilArraym_coil_array
 Transmit array in simulation.
 
vector< double(*)(Module *, double)> m_GetPhaseFunPtrs
 GetPhase functions, adding additional Transmit phase terms.
 
- Protected Attributes inherited from Pulse
PulseAxis m_axis
 
unsigned int m_adc
 
double m_initial_delay
 
bool m_phase_lock
 
- Protected Attributes inherited from Module
SequenceTreem_seq_tree
 Reference to the sequence tree.
 
Parametersm_parameters
 Pointer to the sole instance of the Parameters.
 
TPOI m_tpoi
 Time points of interest are stored the referred repository.
 
string m_info
 Information string for this module.
 
double m_duration
 The duration of this module.
 
int m_calls
 Number of calls of this module.
 
int m_hardware_mode
 Hardware mode (-1: simulation only; 0: both; 1: hardware only)
 
- Protected Attributes inherited from Prototype
bool m_aux
 auxiliary helper variable for debugging purposes
 
bool m_prepared
 True, after the first call to Prepare.
 
string m_name
 Name of this Prototype.
 
DOMNode * m_node
 The node configuring this Module.
 
Type m_type
 The type of the module: one of MOD_PULSE, MOD_ATOM, MOD_CONCAT.
 
vector< double > m_vector
 A vector which elements are accessible through loop counters.
 
map< string, Attribute * > m_attributes
 Map to connect a keyword with an Attribute.
 
vector< Attribute * > m_obs_attribs
 Vector of observed Attributes.
 
vector< string > m_obs_attrib_keyword
 Vector of user-defined Attribute names.
 
- Protected Attributes inherited from TxRxPhase
double m_initial_phase
 Initial Phase of this phase event.
 
bool m_phase_lock
 Phase lock of this phase event.
 
double m_frequency
 A constant frequency to set linear phase terms.
 

Detailed Description

RF pulse with external pulse shape.

Member Function Documentation

ExternalRFPulse* ExternalRFPulse::Clone ( ) const
inlinevirtual

See Module::clone

Implements Module.

+ Here is the call graph for this function:

string ExternalRFPulse::GetInfo ( )
privatevirtual

Get informations on this external gradient.

Returns
RFPulse::GetInfo plus the name of the binary file

Reimplemented from RFPulse.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual double ExternalRFPulse::GetMagnitude ( const double  time)
inlinevirtual

Returns a constant Magnitidue for all times.

Parameters
timeThe flip angle as double.
Returns
the Magnitude.

Reimplemented from RFPulse.

+ Here is the call graph for this function:

bool ExternalRFPulse::Prepare ( const PrepareMode  mode)
virtual

Prepare the hard RF pulse.

Parameters
modeSets the preparation mode, one of enum PrepareMode {PREP_INIT,PREP_VERBOSE,PREP_UPDATE}.
Returns
Success.

Reimplemented from RFPulse.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void ExternalRFPulse::SetTPOIs ( )
inlinevirtual
See also
Pulse::SetTPOIs

Reimplemented from RFPulse.

+ Here is the call graph for this function:

Member Data Documentation

ExternalPulseData ExternalRFPulse::m_pulse_data
private

contains the data


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

-- last change 17.06.2016 | Tony Stoecker | Imprint --