Tomographer  v2.0
Tomographer C++ Framework Documentation
Tomographer::MHRWTasks::MHRandomWalkTask< MHRandomWalkTaskCData, Rng > Struct Template Reference

Random Walk task, collecting statistics. More...

#include <tomographer2/mhrwtasks.h>

Classes

struct  StatusReport
 Status Report for a MHRandomWalkTask. More...
 

Public Types

typedef MHRandomWalkTaskCData::CountIntType CountIntType
 
typedef MHRandomWalkTaskCData::StepRealType StepRealType
 
typedef MHRWParams< CountIntType, StepRealType > MHRWParamsType
 
typedef MHRandomWalkTaskResult< typename MHRandomWalkTaskCData::MHRWStatsCollectorResultType, CountIntType, StepRealType > ResultType
 Result type of a single task run. More...
 
typedef StatusReport StatusReportType
 Typedef for StatusReport. This is needed by, e.g. MultiProc::OMP::TaskDispatcher.
 

Public Member Functions

template<typename LoggerType >
 MHRandomWalkTask (int inputseed, const MHRandomWalkTaskCData *, LoggerType &logger)
 Constructs the MHRandomWalkTask. More...
 
template<typename LoggerType , typename TaskManagerIface >
void run (const MHRandomWalkTaskCData *pcdata, LoggerType &logger, TaskManagerIface *tmgriface)
 Run this task. More...
 
const ResultTypegetResult () const
 

Detailed Description

template<typename MHRandomWalkTaskCData, typename Rng = std::mt19937>
struct Tomographer::MHRWTasks::MHRandomWalkTask< MHRandomWalkTaskCData, Rng >

Random Walk task, collecting statistics.

This class can be used with MultiProc::OMP::TaskDispatcher, for example.

Template Parameters
MHRandomWalkTaskCDatamust comply with the MHRandomWalkTaskCData Interface and inherit from CDataBase with appropriate types as required. The parameters to the random walk, as well as types to use, stats collector etc. are specified using this class.

Definition at line 237 of file mhrwtasks.h.

Member Typedef Documentation

template<typename MHRandomWalkTaskCData , typename Rng = std::mt19937>
typedef MHRandomWalkTaskResult<typename MHRandomWalkTaskCData::MHRWStatsCollectorResultType, CountIntType, StepRealType> Tomographer::MHRWTasks::MHRandomWalkTask< MHRandomWalkTaskCData, Rng >::ResultType

Result type of a single task run.

See MHRandomWalkTaskResult.

Definition at line 249 of file mhrwtasks.h.

Constructor & Destructor Documentation

template<typename MHRandomWalkTaskCData , typename Rng = std::mt19937>
template<typename LoggerType >
Tomographer::MHRWTasks::MHRandomWalkTask< MHRandomWalkTaskCData, Rng >::MHRandomWalkTask ( int  inputseed,
const MHRandomWalkTaskCData *  ,
LoggerType &  logger 
)
inline

Constructs the MHRandomWalkTask.

You should never need to call this directly, except if you're writing a task manager/dispatcher (e.g. MultiProc::OMP::TaskDispatcher)

Definition at line 325 of file mhrwtasks.h.

Member Function Documentation

template<typename MHRandomWalkTaskCData , typename Rng = std::mt19937>
template<typename LoggerType , typename TaskManagerIface >
void Tomographer::MHRWTasks::MHRandomWalkTask< MHRandomWalkTaskCData, Rng >::run ( const MHRandomWalkTaskCData *  pcdata,
LoggerType &  logger,
TaskManagerIface *  tmgriface 
)
inline

Run this task.

Runs this task, i.e. instantiates a MHRandomWalk with the provided inputs and data, and runs it.

This also takes care to call the task manager interface's statusReportRequested() and submits a status report if required. See e.g. MultiProc::OMP::TaskDispatcher::requestStatusReport().

Definition at line 349 of file mhrwtasks.h.


The documentation for this struct was generated from the following file: