link to homepage

Institute for Neuroscience and Medicine

Navigation and service


API documentation

Base class of coil objects. More...

#include <Coil.h>

Inheritance diagram for Coil:
Collaboration diagram for Coil:

List of all members.

Public Member Functions

virtual ~Coil ()
 Destructor.
double GetSensitivity (double time=0)
 Get the B1+ magnitude at point (x,y,z) of the current spin.
double GetPhase (double time=0)
 Get the B1+ phase at point (x,y,z) of the current spin.
double InterpolateSensitivity (double *position, bool magnitude=true)
 Interpolate the sensitivity at point (x,y,z).
virtual double GetSensitivity (double *position)=0
 Get the B1+ magnitude at point (x,y,z).
virtual double GetPhase (double *position)
 Get the B1+ phase at point (x,y,z).
void InitSignal (long lADCs)
 Initialize my signal repository.
void Receive (long lADC)
 Receive signal from World.
void Transmit ()
 Transmit signal.
SignalGetSignal ()
 Get the received signal of this coil.
CoilClone () const =0
void DumpSensMap (string fname)
 Dump sensitivity map.
virtual bool Prepare (PrepareMode mode)
 Prepare coil with given attributes.
void Initialize (DOMNode *node)
 Initialize this prototype.

Protected Member Functions

 Coil ()
 vaArray_3d (double) m_sens_mag
 vaArray_3d (double) m_sens_pha

Protected Attributes

double m_position [3]
Signalm_signal
unsigned m_mode
double m_azimuth
double m_polar
double m_scale
double m_norm
double m_phase
bool m_interpolate
bool m_complex
bool m_conjugate
unsigned m_dim
double m_extent
int m_points

Detailed Description

Base class of coil objects.

Definition at line 36 of file Coil.h.


Constructor & Destructor Documentation

Coil::Coil (  )  [inline, protected]

Constructor

Definition at line 150 of file Coil.h.


Member Function Documentation

Coil* Coil::Clone (  )  const [pure virtual]

See Prototype::Clone

Implements Prototype.

Implemented in AnalyticCoil, BiotSavartLoop, ExternalCoil, and IdealCoil.

Referenced by CoilPrototypeFactory::Clone().

Here is the caller graph for this function:

void Coil::DumpSensMap ( string  fname  ) 

Dump sensitivity map.

Parameters:
fname Filename for sensitivity map dump.

Definition at line 83 of file Coil.cpp.

References GetPhase(), GetSensitivity(), m_complex, m_dim, m_extent, m_norm, and m_points.

Referenced by BiotSavartLoop::Prepare(), and AnalyticCoil::Prepare().

Here is the call graph for this function:

Here is the caller graph for this function:

double Coil::GetPhase ( double  time = 0  ) 

Get the B1+ phase at point (x,y,z) of the current spin.

Returns:
Phase with respect to spin in World

Definition at line 119 of file Coil.cpp.

References DynamicVariables::instance(), World::instance(), InterpolateSensitivity(), m_complex, m_conjugate, m_interpolate, m_phase, and World::Values.

Referenced by DumpSensMap(), RFPulse::GetValue(), and Receive().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual double Coil::GetPhase ( double *  position  )  [inline, virtual]

Get the B1+ phase at point (x,y,z).

This method may be implemented by every derived coil. Otherwise phase is zero.

Important: the phase of Coils needs to be implemented with unit radians! (In contrast to the phase of RF pulses which has units degrees.)

Parameters:
position At position.
Returns:
B1+ phase with respect to spin in World.

Reimplemented in AnalyticCoil, BiotSavartLoop, and ExternalCoil.

Definition at line 87 of file Coil.h.

virtual double Coil::GetSensitivity ( double *  position  )  [pure virtual]

Get the B1+ magnitude at point (x,y,z).

This method must be implemented by every derived coil.

Parameters:
position At position.
Returns:
Sensitivity with respect to spin in World.

Implemented in AnalyticCoil, BiotSavartLoop, ExternalCoil, and IdealCoil.

double Coil::GetSensitivity ( double  time = 0  ) 

Get the B1+ magnitude at point (x,y,z) of the current spin.

Returns:
Sensitivity with respect to spin in World

Definition at line 141 of file Coil.cpp.

References DynamicVariables::instance(), World::instance(), InterpolateSensitivity(), m_interpolate, m_norm, m_scale, and World::Values.

Referenced by DumpSensMap(), RFPulse::GetValue(), and Receive().

Here is the call graph for this function:

Here is the caller graph for this function:

Signal* Coil::GetSignal (  )  [inline]

Get the received signal of this coil.

Returns:
The received signal

Definition at line 113 of file Coil.h.

References m_signal.

Referenced by mpi_recieve_sample_paket().

Here is the caller graph for this function:

void Coil::Initialize ( DOMNode *  node  )  [virtual]

Initialize this prototype.

The first step after cloning! The method sets the Name of the Prototype, and pointers to the referring node and the (unique) SequenceTree.

Parameters:
node The DOMNode referring to this prototype.

Implements Prototype.

Definition at line 36 of file Coil.cpp.

References Prototype::m_node, and Prototype::SetName().

Referenced by CoilArray::CreateCoil().

Here is the call graph for this function:

Here is the caller graph for this function:

void Coil::InitSignal ( long  lADCs  ) 

Initialize my signal repository.

Parameters:
lADCs Number of ADCs

Definition at line 53 of file Coil.cpp.

References m_signal.

double Coil::InterpolateSensitivity ( double *  position,
bool  magnitude = true 
)

Interpolate the sensitivity at point (x,y,z).

Returns:
Interpolated Sensitivity

Definition at line 160 of file Coil.cpp.

References m_dim, m_extent, and m_points.

Referenced by ExternalCoil::GetPhase(), GetPhase(), ExternalCoil::GetSensitivity(), and GetSensitivity().

Here is the caller graph for this function:

bool Coil::Prepare ( PrepareMode  mode  )  [virtual]

Prepare coil with given attributes.

Parameters:
mode Sets the preparation mode, one of enum PrepareMode {PREP_INIT,PREP_VERBOSE,PREP_UPDATE}.

Implements Prototype.

Reimplemented in AnalyticCoil, BiotSavartLoop, and ExternalCoil.

Definition at line 205 of file Coil.cpp.

References m_azimuth, m_complex, m_conjugate, m_dim, m_extent, m_interpolate, m_mode, m_norm, m_phase, m_points, m_polar, m_position, m_scale, m_signal, XC, YC, and ZC.

void Coil::Receive ( long  lADC  ) 

Receive signal from World.

Parameters:
lADC Receive the signal for this particular ADC

Definition at line 63 of file Coil.cpp.

References GetPhase(), GetSensitivity(), World::instance(), m_signal, Repository::mx, Repository::my, Repository::mz, PHASE, Signal::repository, World::solution, World::time, and Repository::tp.

Here is the call graph for this function:

Coil::vaArray_3d ( double   )  [protected]

Array to store sensitivity magnitudes

Coil::vaArray_3d ( double   )  [protected]

Array to store sensitivity phases


Member Data Documentation

double Coil::m_azimuth [protected]

Change of coordinate system: azimuth angle

Definition at line 155 of file Coil.h.

Referenced by BiotSavartLoop::GetSensitivity(), AnalyticCoil::GetSensitivity(), and Prepare().

bool Coil::m_complex [protected]

True, if sensitivity map is complex (non-zero phase entries).

Definition at line 161 of file Coil.h.

Referenced by DumpSensMap(), GetPhase(), ExternalCoil::Prepare(), and Prepare().

bool Coil::m_conjugate [protected]

Complex conjugate the sensitivites, if true.

Definition at line 162 of file Coil.h.

Referenced by GetPhase(), and Prepare().

unsigned Coil::m_dim [protected]

Dimensions (2D or 3D) of the array

Definition at line 163 of file Coil.h.

Referenced by DumpSensMap(), InterpolateSensitivity(), ExternalCoil::Prepare(), and Prepare().

double Coil::m_extent [protected]

Array extend of support region [mm]

Definition at line 164 of file Coil.h.

Referenced by DumpSensMap(), BiotSavartLoop::GetSensitivity(), InterpolateSensitivity(), and Prepare().

bool Coil::m_interpolate [protected]

Whether to precompute sensitivities in an array

Definition at line 160 of file Coil.h.

Referenced by GetPhase(), GetSensitivity(), and Prepare().

unsigned Coil::m_mode [protected]

My mode (RX/TX)

Definition at line 154 of file Coil.h.

Referenced by Prepare().

double Coil::m_norm [protected]

Normalization factor for sensitivities

Definition at line 158 of file Coil.h.

Referenced by DumpSensMap(), GetSensitivity(), and Prepare().

double Coil::m_phase [protected]

Constant phase shift

Definition at line 159 of file Coil.h.

Referenced by GetPhase(), and Prepare().

int Coil::m_points [protected]

Sampling points of the array

Definition at line 165 of file Coil.h.

Referenced by DumpSensMap(), BiotSavartLoop::GetSensitivity(), InterpolateSensitivity(), ExternalCoil::Prepare(), and Prepare().

double Coil::m_polar [protected]

Change of coordinate system: polar angle

Definition at line 156 of file Coil.h.

Referenced by BiotSavartLoop::GetSensitivity(), AnalyticCoil::GetSensitivity(), and Prepare().

double Coil::m_position[3] [protected]

Center location

Definition at line 150 of file Coil.h.

Referenced by BiotSavartLoop::GetSensitivity(), AnalyticCoil::GetSensitivity(), and Prepare().

double Coil::m_scale [protected]

Scaling factor for sensitivities

Definition at line 157 of file Coil.h.

Referenced by GetSensitivity(), and Prepare().

Signal* Coil::m_signal [protected]

Signal repository

Definition at line 153 of file Coil.h.

Referenced by GetSignal(), InitSignal(), Prepare(), Receive(), and ~Coil().


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

Servicemeu