JEMRIS 2.9.1
open-source MRI simulations
Loading...
Searching...
No Matches
ExternalGradPulse.h
Go to the documentation of this file.
1
5/*
6 * JEMRIS Copyright (C)
7 * 2006-2023 Tony Stoecker
8 * 2007-2018 Kaveh Vahedipour
9 * 2009-2019 Daniel Pflugfelder
10 *
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
25 */
26
27#ifndef _EXTERNALGRADPULSE_H
28#define _EXTERNALGRADPULSE_H
29
30#include <cmath>
31#include "GradPulse.h"
32#include "ExternalPulseData.h"
33
39
40 public:
41
46
51
56
60 inline ExternalGradPulse* Clone () const { return (new ExternalGradPulse(*this)); };
61
67 virtual bool Prepare (const PrepareMode mode);
68
72 virtual double GetGradient (double const time) {return m_pulse_data.GetData(time); };
73
77 virtual void SetTPOIs() { m_pulse_data.SetTPOIs(); } ;
78
79
80 protected:
81
87 string GetInfo ();
88
90 string m_fname;
91 double m_scale;
92 bool m_interp;
94};
95
96#endif /*EXTERNALGRADPULSE_*/
mode
Definition: Declarations.h:112
Implementation of JEMRIS ExternalPulseData.
Implementation of JEMRIS GradPulse.
External gradient prototype.
Definition: ExternalGradPulse.h:38
ExternalGradPulse()
Default constructor.
Definition: ExternalGradPulse.h:45
virtual void SetTPOIs()
Definition: ExternalGradPulse.h:77
ExternalPulseData m_pulse_data
Definition: ExternalGradPulse.h:89
string m_fname
Filename containing the RF amps and phases
Definition: ExternalGradPulse.h:90
ExternalGradPulse * Clone() const
Definition: ExternalGradPulse.h:60
virtual bool Prepare(const PrepareMode mode)
Prepare the external gradient pulse.
Definition: ExternalGradPulse.cpp:38
bool m_interp
if true, linear interpolation is applied
Definition: ExternalGradPulse.h:92
virtual double GetGradient(double const time)
Definition: ExternalGradPulse.h:72
~ExternalGradPulse()
Default destructor.
Definition: ExternalGradPulse.h:55
double m_scale
Scaling factor for the amps
Definition: ExternalGradPulse.h:91
string GetInfo()
Get information on this external gradient.
Definition: ExternalGradPulse.cpp:69
Read and retrieve data of external pulse shapes.
Definition: ExternalPulseData.h:36
void SetTPOIs()
Definition: ExternalPulseData.cpp:65
double GetData(double const time)
get the data
Definition: ExternalPulseData.cpp:44
Base class and prototype for all gradient pulses.
Definition: GradPulse.h:36

-- last change 03.10.2023 | Tony Stoecker | Imprint | Data Protection --