Random size generator for experimental sieve curve. More...
#include <randomizer.hpp>
Public Types | |
typedef vector< array< double, 2 > > | sieve_curve |
typedef for sieve curve | |
typedef vector< double > | sizes_t |
typedef for sizes type | |
Public Member Functions | |
ExperimentalSieveCurveRandomizer () | |
Default constructor, sets values to ((0.5e-3,0.0),(16e-3,1.0)) | |
ExperimentalSieveCurveRandomizer (int n, const sieve_curve &v) | |
Constructor from nMinValues and sieve_curve. More... | |
ExperimentalSieveCurveRandomizer (int n, const sieve_curve &v, const string &m) | |
Constructor from nMinValues, sieve_curve and file name. More... | |
const sieve_curve & | getValues () const |
Getter for values (returns by const reference) | |
sieve_curve | getValues () |
Getter for values (returns by value) | |
void | setValues (const sieve_curve &sc) |
Setter for values. | |
virtual double | cdf (double size) const |
virtual double | getMinSize () const |
Returns minimum defined size. | |
virtual double | getMaxSize () const |
Returns maximum defined size. | |
virtual const string & | getClassName () |
Returns string representation of ExperimentalSieveCurveRandomizer class name. | |
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_t & | getSizes () |
Getter for sizes. | |
string | getFileName () |
Getter for file 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... | |
Static Public Attributes | |
static const string | className = "ExperimentalSieveCurveRandomizer" |
String representation of ExperimentalSieveCurveRandomizer class name. | |
Protected Member Functions | |
void | check () |
Checks, if given sieve curve is correct. Throw error if not. | |
int | findInterval (double size) const |
Finds an interval which size blongs to. More... | |
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 AggregSizeRandomizer * | Load (istream &is) |
Create and return a new AggregSizeRandomizer from given istream. More... | |
Protected Attributes | |
sieve_curve | values |
Sieve curve as a pair array (size,relative cumulative mass) | |
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 ExperimentalSieveCurveRandomizer &o) |
ExperimentalSieveCurveRandomizer to ostream shift operator. | |
istream & | operator>> (istream &f, ExperimentalSieveCurveRandomizer &o) |
ExperimentalSieveCurveRandomizer from istream shift operator. | |
Random size generator for experimental sieve curve.
Define by pair array (size,relative cumulative mass)
|
inline |
Constructor from nMinValues and sieve_curve.
n | minimum number of sizes |
v | sieve curve |
|
inline |
Constructor from nMinValues, sieve_curve and file name.
n | minimum number of sizes |
v | sieve curve |
m | file name |
|
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)
size | given size |
Implements aggregpacking::AggregSizeRandomizer.
|
protected |
Finds an interval which size blongs to.
size | given size |
|
staticprotectedinherited |
Create and return a new AggregSizeRandomizer from given istream.
is | input stream |
|
inlinevirtualinherited |
Loads receiver from specified file.
fName | given file name |
|
inlinevirtualinherited |
Loads receiver from this->fileName.
|
protectedinherited |
Load sizes from istream.
is | input stream |
|
inlinestaticinherited |
Returns random integer in the interval [0,m-1] (with uniform istribution)
m | upper limit if the interval |
|
inlinevirtualinherited |
Saves receiver into specified file.
fName | given file name |
|
protectedinherited |
Save sizes to ostream.
os | output stream |
|
inlinestaticinherited |
Setter for seed.
s | new seed |