JEMRIS  2.8.1
open-source MRI simulations
AnalyticCoil.h
Go to the documentation of this file.
1 
8 /*
9  * JEMRIS Copyright (C)
10  * 2006-2015 Tony Stoecker
11  * 2007-2015 Kaveh Vahedipour
12  * 2009-2015 Daniel Pflugfelder
13  *
14  *
15  * This program is free software; you can redistribute it and/or modify
16  * it under the terms of the GNU General Public License as published by
17  * the Free Software Foundation; either version 2 of the License, or
18  * (at your option) any later version.
19  *
20  * This program is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23  * GNU General Public License for more details.
24  *
25  * You should have received a copy of the GNU General Public License
26  * along with this program; if not, write to the Free Software
27  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
28  */
29 
30 
31 #ifndef ANALYTICCOIL_H_
32 #define ANALYTICCOIL_H_
33 
34 
35 #include "Coil.h"
36 
40 class AnalyticCoil : public Coil {
41 
42  public:
43 
44 
49  m_use_grid = true;
50  m_analytic = false;
51  m_sensitivity = 0.0;
52  m_analytic_phase= 0.0;
53  m_px = 0.0;
54  m_py = 0.0;
55  m_pz = 0.0;
56  };
57 
62 
69  virtual double GetSensitivity (const double* position);
70 
71  virtual double GetPhase (const double* position){ return m_analytic_phase;};
72 
78  inline virtual AnalyticCoil* Clone () const {return (new AnalyticCoil(*this));};
79 
86  virtual bool Prepare (const PrepareMode mode);
87 
88 
89  private:
90 
91  bool m_use_grid;
92  bool m_analytic;
93  double m_sensitivity;
95  double m_px;
96  double m_py;
97  double m_pz;
99 };
100 
101 
102 
103 #endif /* ANALYTICCOIL_H_ */
double m_py
y-position to compute sensitivity
Definition: AnalyticCoil.h:96
double m_px
x-position to compute sensitivity
Definition: AnalyticCoil.h:95
virtual double GetPhase(const double *position)
Get the B1+ phase at point (x,y,z)
Definition: AnalyticCoil.h:71
Prototype of a Biot-Savart loop.
Definition: AnalyticCoil.h:40
virtual AnalyticCoil * Clone() const
Clone.
Definition: AnalyticCoil.h:78
AnalyticCoil()
constructor
Definition: AnalyticCoil.h:48
bool m_use_grid
compute sensitivities on a grid for later use
Definition: AnalyticCoil.h:91
virtual double GetSensitivity(const double *position)
Request sensitivity at given position.
Definition: AnalyticCoil.cpp:85
mode
Definition: Declarations.h:112
double m_analytic_phase
Phase of the AnalyticCoil as calculated by GiNaC.
Definition: AnalyticCoil.h:94
bool m_analytic
Check, whether analytic evaluation is already prepared.
Definition: AnalyticCoil.h:92
Implementation of JEMRIS Coil.
virtual bool Prepare(const PrepareMode mode)
Prepare.
Definition: AnalyticCoil.cpp:37
~AnalyticCoil()
Default destructor.
Definition: AnalyticCoil.h:61
Base class of coil objects.
Definition: Coil.h:39
double m_sensitivity
Sensitivity of the AnalyticCoil as calculated by GiNaC.
Definition: AnalyticCoil.h:93
double m_pz
z-position to compute sensitivity
Definition: AnalyticCoil.h:97

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