CYCAMORE
Public Member Functions | Protected Attributes | Friends | List of all members
cycamore::Mixer Class Reference

Mixer mixes N streams with fixed, static, user-specified ratios into a single output stream. More...

#include <mixer.h>

Inheritance diagram for cycamore::Mixer:

Public Member Functions

virtual void AcceptMatlTrades (const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses)
 
virtual void AcceptMatlTrades (const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses)
 
virtual Json::Value annotations ()
 
virtual cyclus::Agent * Clone ()
 
virtual void EnterNotify ()
 
virtual void EnterNotify ()
 
virtual std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > GetMatlRequests ()
 
virtual std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > GetMatlRequests ()
 
virtual void InfileToDb (cyclus::InfileTree *tree, cyclus::DbInit di)
 
virtual void InitFrom (cycamore::Mixer *m)
 
virtual void InitFrom (cyclus::QueryableBackend *b)
 
virtual void InitInv (cyclus::Inventories &inv)
 
virtual void InitInv (cyclus::Inventories &inv)
 
 Mixer (cyclus::Context *ctx)
 
 Mixer (cyclus::Context *ctx)
 
virtual std::string schema ()
 
virtual void Snapshot (cyclus::DbInit di)
 
virtual cyclus::Inventories SnapshotInv ()
 
virtual cyclus::Inventories SnapshotInv ()
 
virtual void Tick ()
 
virtual void Tick ()
 
virtual void Tock ()
 
virtual void Tock ()
 
virtual ~Mixer ()
 
virtual ~Mixer ()
 

Protected Attributes

std::vector< intcycpp_shape_out_buf_size
 
std::vector< intcycpp_shape_out_commod
 
std::vector< intcycpp_shape_output
 
std::vector< intcycpp_shape_streams_
 
std::vector< intcycpp_shape_throughput
 
std::vector< double > in_buf_sizes
 
std::vector< std::map< std::string, double > > in_commods
 
std::vector< double > mixing_ratios
 
double out_buf_size
 
std::string out_commod
 
cyclus::toolkit::ResBuf< cyclus::Material > output
 
std::map< cyclus::Request< cyclus::Material > *, std::string > req_inventories_
 
cyclus::toolkit::MatlSellPolicy sell_policy
 
std::map< std::string, cyclus::toolkit::ResBuf< cyclus::Material > > streambufs
 
std::vector< std::pair< std::pair< double, double >, std::map< std::string, double > > > streams_
 
double throughput
 

Friends

class MixerTest
 

Detailed Description

Mixer mixes N streams with fixed, static, user-specified ratios into a single output stream.

The Mixer has N input inventories: one for each streams to be mixed, and one output stream. The supplying of mixed material is constrained by available inventory of mixed material quantities.

Definition at line 17 of file _tmp_build/cycamore/mixer.h.

Constructor & Destructor Documentation

cycamore::Mixer::Mixer ( cyclus::Context *  ctx)

Definition at line 9 of file _tmp_build/cycamore/mixer.cc.

Referenced by cycamore::ConstructMixer().

virtual cycamore::Mixer::~Mixer ( )
inlinevirtual

Definition at line 25 of file _tmp_build/cycamore/mixer.h.

References Tick().

cycamore::Mixer::Mixer ( cyclus::Context *  ctx)
virtual cycamore::Mixer::~Mixer ( )
inlinevirtual

Definition at line 29 of file src/mixer.h.

References Tick().

Member Function Documentation

void cycamore::Mixer::AcceptMatlTrades ( const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses)
virtual

Definition at line 156 of file _tmp_build/cycamore/mixer.cc.

References m, req_inventories_, streambufs, and cycamore::string.

Referenced by Tock().

virtual void cycamore::Mixer::AcceptMatlTrades ( const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses)
virtual
virtual Json::Value cycamore::Mixer::annotations ( )
inlinevirtual

Definition at line 235 of file _tmp_build/cycamore/mixer.h.

virtual cyclus::Agent* cycamore::Mixer::Clone ( )
inlinevirtual

Definition at line 37 of file _tmp_build/cycamore/mixer.h.

References InitFrom(), and m.

void cycamore::Mixer::EnterNotify ( )
virtual
virtual void cycamore::Mixer::EnterNotify ( )
virtual
std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > cycamore::Mixer::GetMatlRequests ( )
virtual

Definition at line 125 of file _tmp_build/cycamore/mixer.cc.

References in_commods, m, req_inventories_, streambufs, and cycamore::string.

Referenced by Tock().

virtual std::set<cyclus::RequestPortfolio<cyclus::Material>::Ptr> cycamore::Mixer::GetMatlRequests ( )
virtual
virtual void cycamore::Mixer::InfileToDb ( cyclus::InfileTree *  tree,
cyclus::DbInit  di 
)
inlinevirtual
virtual void cycamore::Mixer::InitFrom ( cycamore::Mixer m)
inlinevirtual
virtual void cycamore::Mixer::InitFrom ( cyclus::QueryableBackend *  b)
inlinevirtual
virtual void cycamore::Mixer::InitInv ( cyclus::Inventories &  inv)
virtual
void cycamore::Mixer::InitInv ( cyclus::Inventories &  inv)
virtual

Definition at line 32 of file _tmp_build/cycamore/mixer.cc.

References output, and streambufs.

Referenced by Snapshot(), and Tock().

virtual std::string cycamore::Mixer::schema ( )
inlinevirtual

Definition at line 184 of file _tmp_build/cycamore/mixer.h.

virtual void cycamore::Mixer::Snapshot ( cyclus::DbInit  di)
inlinevirtual
virtual cyclus::Inventories cycamore::Mixer::SnapshotInv ( )
virtual
cyclus::Inventories cycamore::Mixer::SnapshotInv ( )
virtual

Definition at line 14 of file _tmp_build/cycamore/mixer.cc.

References output, and streambufs.

Referenced by Snapshot(), and Tock().

void cycamore::Mixer::Tick ( )
virtual
virtual void cycamore::Mixer::Tick ( )
virtual
virtual void cycamore::Mixer::Tock ( )
inlinevirtual

Definition at line 28 of file _tmp_build/cycamore/mixer.h.

References AcceptMatlTrades(), EnterNotify(), and GetMatlRequests().

virtual void cycamore::Mixer::Tock ( )
inlinevirtual

Friends And Related Function Documentation

MixerTest
friend

Definition at line 21 of file _tmp_build/cycamore/mixer.h.

Member Data Documentation

std::vector<int> cycamore::Mixer::cycpp_shape_out_buf_size
protected

Definition at line 331 of file _tmp_build/cycamore/mixer.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Mixer::cycpp_shape_out_commod
protected

Definition at line 324 of file _tmp_build/cycamore/mixer.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Mixer::cycpp_shape_output
protected

Definition at line 337 of file _tmp_build/cycamore/mixer.h.

Referenced by InfileToDb(), and InitFrom().

std::vector<int> cycamore::Mixer::cycpp_shape_streams_
protected

Definition at line 308 of file _tmp_build/cycamore/mixer.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Mixer::cycpp_shape_throughput
protected

Definition at line 344 of file _tmp_build/cycamore/mixer.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector< double > cycamore::Mixer::in_buf_sizes
protected
std::vector< std::map< std::string, double > > cycamore::Mixer::in_commods
protected

Definition at line 312 of file _tmp_build/cycamore/mixer.h.

Referenced by EnterNotify(), GetMatlRequests(), and Tock().

std::vector< double > cycamore::Mixer::mixing_ratios
protected
double cycamore::Mixer::out_buf_size
protected
std::string cycamore::Mixer::out_commod
protected
cyclus::toolkit::ResBuf< cyclus::Material > cycamore::Mixer::output
protected
std::map< cyclus::Request< cyclus::Material > *, std::string > cycamore::Mixer::req_inventories_
protected

Definition at line 350 of file _tmp_build/cycamore/mixer.h.

Referenced by AcceptMatlTrades(), GetMatlRequests(), and Tock().

cyclus::toolkit::MatlSellPolicy cycamore::Mixer::sell_policy
protected

Definition at line 353 of file _tmp_build/cycamore/mixer.h.

Referenced by EnterNotify(), and Tock().

std::map< std::string, cyclus::toolkit::ResBuf< cyclus::Material > > cycamore::Mixer::streambufs
protected
std::vector< std::pair< std::pair< double, double >, std::map< std::string, double > > > cycamore::Mixer::streams_
protected
double cycamore::Mixer::throughput
protected

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