Sequence Chart Studio  svn HEAD revision
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
MonteCarlo::HMscDealer Class Reference

#include <montecarlo.h>

Collaboration diagram for MonteCarlo::HMscDealer:
Collaboration graph

Public Types

typedef std::multimap
< ReferenceNodePtr, std::pair
< double, double > > 
ReferenceNodeTimeMap
 

Public Member Functions

 HMscDealer (SimulationState &state, boost::lagged_fibonacci607 &seeder, float max_message_delay)
 
double traverse (double time_begin, const HMsc *hmsc)
 
const ReferenceNodeTimeMapget_timestamps () const
 

Private Member Functions

void check_relations (MeasurementList &measurements, const HMscDealer::ReferenceNodeTimeMap::const_iterator tpos, const TimeRelationRefNodePtrSet &relations) const
 
double traverse_node (double time_begin, HMscNode *node)
 
double traverse_reference (double time_begin, ReferenceNode *node)
 
double traverse_condition (double time_begin, ConditionNode *node)
 

Private Attributes

SimulationStatem_state
 
boost::lagged_fibonacci607 & m_seeder
 
boost::variate_generator
< boost::lagged_fibonacci607
&, boost::uniform_real<> > 
m_rng
 random number generator used for path selection More...
 
float m_max_message_delay
 
ReferenceNodeTimeMap m_timestamps
 

Detailed Description

Definition at line 128 of file montecarlo.h.

Member Typedef Documentation

typedef std::multimap<ReferenceNodePtr, std::pair<double,double> > MonteCarlo::HMscDealer::ReferenceNodeTimeMap

Definition at line 139 of file montecarlo.h.

Constructor & Destructor Documentation

MonteCarlo::HMscDealer::HMscDealer ( SimulationState state,
boost::lagged_fibonacci607 &  seeder,
float  max_message_delay 
)
inline

Definition at line 131 of file montecarlo.h.

Member Function Documentation

void MonteCarlo::HMscDealer::check_relations ( MeasurementList measurements,
const HMscDealer::ReferenceNodeTimeMap::const_iterator  tpos,
const TimeRelationRefNodePtrSet relations 
) const
private

Definition at line 201 of file montecarlo.cpp.

const ReferenceNodeTimeMap& MonteCarlo::HMscDealer::get_timestamps ( ) const
inline

Definition at line 140 of file montecarlo.h.

double MonteCarlo::HMscDealer::traverse ( double  time_begin,
const HMsc hmsc 
)

Definition at line 175 of file montecarlo.cpp.

References HMsc::get_start().

Referenced by MonteCarlo::do_sample(), and traverse_reference().

double MonteCarlo::HMscDealer::traverse_condition ( double  time_begin,
ConditionNode node 
)
private
double MonteCarlo::HMscDealer::traverse_node ( double  time_begin,
HMscNode node 
)
private

Definition at line 247 of file montecarlo.cpp.

References condition, PredecessorNode::get_successors(), and reference.

double MonteCarlo::HMscDealer::traverse_reference ( double  time_begin,
ReferenceNode node 
)
private

Member Data Documentation

float MonteCarlo::HMscDealer::m_max_message_delay
private

Definition at line 156 of file montecarlo.h.

boost::variate_generator<boost::lagged_fibonacci607&, boost::uniform_real<> > MonteCarlo::HMscDealer::m_rng
private

random number generator used for path selection

Definition at line 147 of file montecarlo.h.

boost::lagged_fibonacci607& MonteCarlo::HMscDealer::m_seeder
private

Definition at line 145 of file montecarlo.h.

SimulationState& MonteCarlo::HMscDealer::m_state
private

Definition at line 144 of file montecarlo.h.

ReferenceNodeTimeMap MonteCarlo::HMscDealer::m_timestamps
private

Definition at line 157 of file montecarlo.h.


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

SourceForge.net Logo
Generated on Fri Jan 15 2016 16:26:59 for Sequence Chart Studio by  doxygen