Random size generator for Fuller curve. More...
#include <randomizer.hpp>
Public Types | |
| typedef vector< double > | sizes_t |
| typedef for sizes type | |
Public Member Functions | |
| FullerCurveRandomizer () | |
| Default constructor. More... | |
| FullerCurveRandomizer (int n, double e, double minSize, double maxSize) | |
| Constructor. More... | |
| FullerCurveRandomizer (int n, double e, double minSize, double maxSize, const string &m) | |
| Constructor. More... | |
| virtual double | cdf (double size) const |
| double | getExponent () |
| Getter for exponent. | |
| void | setExponent (double v) |
| Setter for exponent. | |
| virtual double | getMinSize () const |
| Returns minimum defined size. | |
| virtual double | getMaxSize () const |
| Returns maximum defined size. | |
| virtual const string & | getClassName () |
| Returns string representation of FullerCurveRandomizer 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 = "FullerCurveRandomizer" |
| String representation of FullerCurveRandomizer class name. | |
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 AggregSizeRandomizer * | Load (istream &is) |
| Create and return a new AggregSizeRandomizer from given istream. More... | |
Protected Attributes | |
| double | exponent |
| Exponent of analytical expression. | |
| double | minSize |
| User defined minimum aggregate size. | |
| double | maxSize |
| Maximum size from the analytical expression. | |
| 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 FullerCurveRandomizer &o) |
| FullerCurveRandomizer to ostream shift operator. | |
| istream & | operator>> (istream &f, FullerCurveRandomizer &o) |
| FullerCurveRandomizer from istream shift operator. | |
Random size generator for Fuller curve.
Fuller curve is defined as P(d) = (d/dmax)^n. Exponent n is usually between 0.4-0.7, most often 0.5. Apart from dmax (maximum aggrgate size), also minimum aggregate size has to be defined
|
inline |
Default constructor.
sets exponent=0.5, minSize=0.5e-3, maxSize=16e-3
|
inline |
Constructor.
| n | minimum length of sizes attribute |
| e | exponent |
| minSize | minimum aggregate size |
| maxSize | maximum aggregate size |
|
inline |
Constructor.
| n | minimum length of sizes attribute |
| e | exponent |
| minSize | minimum aggregate size |
| maxSize | maximum aggregate size |
| 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.
|
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 |
1.8.6