JEMRIS 2.9.1
open-source MRI simulations
No Matches
List of all members | Public Member Functions | Private Attributes
MultiPoolSample Class Reference
+ Inheritance diagram for MultiPoolSample:
+ Collaboration diagram for MultiPoolSample:

Public Member Functions

 MultiPoolSample (const string &fname)
 MultiPoolSample (const long l)
virtual void Prepare (const std::string &fname="")
int GetNoOfPools ()
void GetExchangeMatrix (long l, double **em)
virtual IO::Status Populate (const std::string &fname)
virtual void CropEnumerate ()
- Public Member Functions inherited from Sample
 Sample ()
 Sample (const string &file, const int multiple=1)
 Sample (const size_t size)
virtual ~Sample ()
virtual void Prepare (const std::string &fname="")
void ClearSpins ()
 delete the spin structure
void CreateSpins (const size_t size)
 create the spin structure More...
void CreateSpins (const size_t nprops, const size_t size)
 create the spin structure More...
size_t GetSize () const
size_t GetNProps () const
vector< size_t > GetSampleDims () const
void SetSampleDims (vector< size_t > d)
const int GetSampleDimsSize () const
 Dimensions. More...
SampleGetSubSample (const int n, const size_t size)
void GetValues (const size_t l, double *val)
 Get values for spin l and deliver them in val. More...
double * GetResolution ()
 Get grid resolution. More...
void InitRandGenerator (int val=1)
 Initialize the randome number generator. More...
void SetR2Prime (double val)
 Set the random local field fluctuations. More...
void SetPositionRandomness (double val)
 Set the position randomness in per cent of the cartesian resolution. More...
double GetDeltaB (size_t pos=-1)
 Get off-resonance of a specific spin. More...
virtual IO::Status Populate (const string &file)
double * GetSpinsData ()
void SetReorderStrategy (string strat)
void ReorderSample ()
void DumpRestartInfo (CoilArray *RxCA)
 Utility function for restart: dump information to restart jemris after crash.
void ReportSpin (int beg, int end, int value)
 Utility function for restart: mark spins which have been calculated.
int ReadSpinsState ()
 Utility function for restart: Read restart file after crash.
void ClearSpinsState ()
 Utility function for restart: mark all spins as not simulated.
void GetScatterVectors (int *sendcount, int *displ, int size)
 utility function to send sample in parallel mode: initial samples are send via mpi_scatterv; get needed vectors to scatter data.
void GetNextPacket (int &noSpins, int &NextSpinToSend, int SlaveId)
 utility function to send sample in parallel mode: get next spin packet to be sent. (beginning index + no_spins to send)
int SpinsLeft ()
 Returns No spins which still needs to be calculated.
void SetTimeInterval (double val)
 Set Time interval in seconds after which new spins are sent (approx. value.)
bool IsRestart ()
 true if simulation run is from a restart
void GetHelper (double *target)
double * GetHelper ()
size_t GetHelperSize ()
int GetNoSpinCompartments ()
void SetNoSpinCompartments (int n)
void CreateHelper (const size_t l)
void CreateDims (const size_t l)
void CopyHelper (double *out)
virtual void CropEnumerate ()

Private Attributes

int m_noofpools

Additional Inherited Members

- Protected Member Functions inherited from Sample
void MultiplySample (int multiple)
- Protected Attributes inherited from Sample
Ensemble< double > m_ensemble
vector< size_t > m_index
vector< double > m_res
vector< double > m_offset
RNG m_rng
double m_r2prime
double m_pos_rand_perc
int m_max_paket_size
int m_min_paket_size
int m_next_spin_to_send
vector< char > m_spin_state
bool m_is_restart
vector< int > m_spins_sent
vector< int > m_last_offset_sent
vector< timeval > m_last_time
double m_sent_interval
double m_total_cpu_time
double m_no_spins_done
vector< double > m_helper
int m_no_spin_compartments

Member Function Documentation

◆ CropEnumerate()

void MultiPoolSample::CropEnumerate ( )

Reimplemented from Sample.

◆ Prepare()

void MultiPoolSample::Prepare ( const std::string &  fname = "")

init variables which are same for all constructors

Reimplemented from Sample.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files:

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