2024-08-16 17:55:27 +00:00
|
|
|
//
|
|
|
|
// Created by dominik on 8/14/24.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef RWSIM_SIMS_H
|
|
|
|
#define RWSIM_SIMS_H
|
|
|
|
|
2024-11-11 10:03:02 +00:00
|
|
|
#include "../motions/base.h"
|
|
|
|
#include "../times/base.h"
|
|
|
|
|
2024-08-16 17:55:27 +00:00
|
|
|
#include <unordered_map>
|
|
|
|
#include <string>
|
|
|
|
|
2024-11-09 16:59:37 +00:00
|
|
|
/**
|
|
|
|
* @brief Run simulation for spectra
|
|
|
|
*
|
|
|
|
* @param parameter Dictionary of parameter for simulation
|
|
|
|
* @param motion Motion model
|
|
|
|
* @param dist Distribution of correlation times
|
|
|
|
*/
|
2024-08-16 17:55:27 +00:00
|
|
|
void run_spectrum(std::unordered_map<std::string, double>& parameter, Motion& motion, Distribution& dist);
|
2024-11-09 16:59:37 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Run simulation for stimulated echoes
|
|
|
|
*
|
|
|
|
* @param parameter Dictionary of parameter for simulation
|
|
|
|
* @param motion Motion model
|
|
|
|
* @param dist Distribution of correlation times
|
|
|
|
*/
|
2024-08-20 15:51:49 +00:00
|
|
|
void run_ste(std::unordered_map<std::string, double>& parameter, Motion& motion, Distribution& dist);
|
2024-11-09 16:59:37 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Create trajectory of a single walker
|
|
|
|
*
|
|
|
|
* @param motion Motion model
|
|
|
|
* @param dist Distribution of correlation times
|
|
|
|
* @param t_max Double that defines maximum time of trajectory
|
|
|
|
* @param out_time Vector of waiting times
|
|
|
|
* @param out_phase Vector of phase between waiting times
|
|
|
|
*/
|
|
|
|
void make_trajectory(Motion& motion, Distribution& dist, double t_max, std::vector<double>& out_time, std::vector<double>& out_phase);
|
2024-08-16 17:55:27 +00:00
|
|
|
|
|
|
|
#endif //RWSIM_SIMS_H
|