JEMRIS 2.9.2
open-source MRI simulations
Loading...
Searching...
No Matches
Trajectory.h
Go to the documentation of this file.
1
9/*
10 * JEMRIS Copyright (C)
11 * 2006-2025 Tony Stoecker
12 * 2007-2018 Kaveh Vahedipour
13 * 2009-2019 Daniel Pflugfelder
14 *
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29 */
30
31#ifndef TRAJECTORY_H_
32#define TRAJECTORY_H_
33#include "TrajectoryInterface.h"
34
35#include <string>
36#include <iostream>
37using namespace std;
39
40
45private:
46 TrajectoryInterface *m_strategy;
47
48public:
49 Trajectory(TrajectoryInterface *strategy):m_strategy(strategy) {}
50
51 void GetValue(double time, double *value) {
52 m_strategy->GetValue(time, value);
53 }
54
55//MODIF
56 void GetValue(double time, double *value, long currentSpin);
57
58 void FlowLoop(double loopDuration,long loopTrajNumber);
59
60 bool spinActivation(long currentSpin);
61//MODIF***
62 void LoadFile(string filename);
63
64 void SetStrategy(TrajectoryInterface *new_strategy) {m_strategy = new_strategy;};
65
66 void UpdateTrajectory(bool init=false);
67
68 TrajectoryInterface* GetStrategy(){cout << "THIS IS A DEBUG FUNCTION!" <<endl; return m_strategy;};
69};
70
71#endif /* TRAJECTORY_H_ */
Implementation of JEMRIS TrajectoryInterface.
pure virtual base class for all Trajectories
Definition TrajectoryInterface.h:48
void GetValue(double time, double *value)
Definition TrajectoryInterface.h:57
Context class for trajectories (design pattern: Strategy)
Definition Trajectory.h:44

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