AggregPacking
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
aggregpacking::AggregSizeRandomizer Class Referenceabstract

Abstract class representing random size generator for given sieve curve. More...

#include <randomizer.hpp>

Inheritance diagram for aggregpacking::AggregSizeRandomizer:
aggregpacking::Randomizer aggregpacking::ExperimentalSieveCurveRandomizer aggregpacking::FullerCurveRandomizer

Public Types

typedef vector< double > sizes_t
 typedef for sizes type
 

Public Member Functions

 AggregSizeRandomizer ()
 Default constructor.
 
 AggregSizeRandomizer (const string &m)
 Constructor from file name. More...
 
virtual double cdf (double size) const =0
 
double take () const
 Returns random size. A lot of random sizes should converge to the prescribed sieve curve. Mass/volume of aggregate is assumed pow(size,3)
 
const sizes_tgetSizes ()
 Getter for sizes.
 
virtual double getMinSize () const
 Returns minimum defined size.
 
virtual double getMaxSize () const
 Returns maximum defined size.
 
string getFileName ()
 Getter for file name.
 
virtual const string & getClassName ()=0
 Returns string representation of Sphere class name.
 
virtual void save (const string &fName) const
 Saves receiver into specified file. More...
 
virtual void save () const
 Saves receiver into this->fileName.
 
virtual bool load (const string &fName)
 Loads receiver from specified file. More...
 
virtual bool load ()
 Loads receiver from this->fileName. More...
 

Static Public Member Functions

static double random ()
 Returns random number in the interval [0,1) (with uniform distribution)
 
static double randint (int m)
 Returns random integer in the interval [0,m-1] (with uniform istribution) More...
 
static int getSeed ()
 Getter for seed.
 
static void setSeed (int s)
 Setter for seed. More...
 

Protected Member Functions

void initSizes (unsigned int nMinValues)
 According to given parameters, constructs sizes. It is numerically converted sieve curve from terms of cumulative volume to the terms of sizes.
 
void saveSizes (ostream &os) const
 Save sizes to ostream. More...
 
void loadSizes (istream &is)
 Load sizes from istream. More...
 

Static Protected Member Functions

static AggregSizeRandomizerLoad (istream &is)
 Create and return a new AggregSizeRandomizer from given istream. More...
 

Protected Attributes

sizes_t sizes
 Array of increasing sizes. Discrete representation of given sieve curve in terms of aggregate size.
 
string fileName
 File name for saving itself.
 

Friends

ostream & operator<< (ostream &f, const AggregSizeRandomizer &o)
 AggregSizeRandomizer to ostream shift operator.
 
istream & operator>> (istream &f, AggregSizeRandomizer &o)
 AggregSizeRandomizer from istream shift operator.
 

Detailed Description

Abstract class representing random size generator for given sieve curve.

Constructor & Destructor Documentation

aggregpacking::AggregSizeRandomizer::AggregSizeRandomizer ( const string &  m)
inline

Constructor from file name.

Parameters
mfile name

Member Function Documentation

virtual double aggregpacking::AggregSizeRandomizer::cdf ( double  size) const
pure virtual

Cumulative relative mass function. Returns what is the total mass of all aggregates spmaller than given size (normalized with total mass of all aggregates)

Parameters
sizegiven size
Returns
relative cumulative mass of all particles smaller than given size

Implemented in aggregpacking::ExperimentalSieveCurveRandomizer, and aggregpacking::FullerCurveRandomizer.

AggregSizeRandomizer * aggregpacking::AggregSizeRandomizer::Load ( istream &  is)
staticprotected

Create and return a new AggregSizeRandomizer from given istream.

Parameters
isinput stream
virtual bool aggregpacking::AggregSizeRandomizer::load ( const string &  fName)
inlinevirtual

Loads receiver from specified file.

Parameters
fNamegiven file name
Returns
true if successful, false otherwise
virtual bool aggregpacking::AggregSizeRandomizer::load ( )
inlinevirtual

Loads receiver from this->fileName.

Returns
true if successful, false otherwise
void aggregpacking::AggregSizeRandomizer::loadSizes ( istream &  is)
protected

Load sizes from istream.

Parameters
isinput stream
static double aggregpacking::Randomizer::randint ( int  m)
inlinestaticinherited

Returns random integer in the interval [0,m-1] (with uniform istribution)

Parameters
mupper limit if the interval
virtual void aggregpacking::AggregSizeRandomizer::save ( const string &  fName) const
inlinevirtual

Saves receiver into specified file.

Parameters
fNamegiven file name
void aggregpacking::AggregSizeRandomizer::saveSizes ( ostream &  os) const
protected

Save sizes to ostream.

Parameters
osoutput stream
static void aggregpacking::Randomizer::setSeed ( int  s)
inlinestaticinherited

Setter for seed.

Parameters
snew seed

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