add namespaces and cmakelists for sub-dirs

This commit is contained in:
Dominik Demuth
2024-12-13 14:03:33 +01:00
parent e90c4c9543
commit e6331749b2
32 changed files with 604 additions and 440 deletions

46
src/sims.h Normal file
View File

@@ -0,0 +1,46 @@
#ifndef RWSIM_SIMS_H
#define RWSIM_SIMS_H
#include "motions/base.h"
#include "times/base.h"
#include <unordered_map>
#include <string>
#include <chrono>
/**
* @brief Run simulation for spectra
*
* @param parameter Dictionary of parameter for simulation
* @param optional Dictionary of parameter set via command line
* @param motion Motion model
* @param dist Distribution of correlation times
*/
void run_spectrum(std::unordered_map<std::string, double>& parameter, std::unordered_map<std::string, double> optional, motions::BaseMotion& motion, times::BaseDistribution& dist);
/**
* @brief Run simulation for stimulated echoes
*
* @param parameter Dictionary of parameter for simulation
* @param optional Dictionary of parameter set via command line
* @param motion Motion model
* @param dist Distribution of correlation times
*/
void run_ste(std::unordered_map<std::string, double>& parameter, std::unordered_map<std::string, double> optional, motions::BaseMotion& motion, times::BaseDistribution& dist);
/**
* @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
* @param out_omega Vector of omega at jump time
*/
void make_trajectory(motions::BaseMotion& motion, times::BaseDistribution& dist, double t_max, std::vector<double>& out_time, std::vector<double>& out_phase, std::vector<double>& out_omega);
std::chrono::system_clock::time_point printStart(std::unordered_map<std::string, double> &optional);
void printEnd(std::chrono::system_clock::time_point start);
#endif //RWSIM_SIMS_H