Go to the documentation of this file.00001
00002
00003
00004
00005 #include <rmol/bom/DemandGeneratorList.hpp>
00006
00007 namespace RMOL {
00008
00009
00010 DemandGeneratorList::DemandGeneratorList () {
00011 const DistributionParameterList_T aDistributionParameterList;
00012 init (aDistributionParameterList);
00013 }
00014
00015
00016 DemandGeneratorList::
00017 DemandGeneratorList (const DemandGeneratorList& iDemandGeneratorList) {
00018
00019 const DistributionParameterList_T aDistributionParameterList;
00020 init (aDistributionParameterList);
00021 }
00022
00023
00024 DemandGeneratorList::
00025 DemandGeneratorList (const DistributionParameterList_T& iDistributionParameterList) {
00026 init (iDistributionParameterList);
00027 }
00028
00029
00030 DemandGeneratorList::~DemandGeneratorList () {
00031 }
00032
00033
00034 void DemandGeneratorList::
00035 init (const DistributionParameterList_T& iDistributionParameterList) {
00036
00037 DistributionParameterList_T::const_iterator itParams =
00038 iDistributionParameterList.begin();
00039 for ( ; itParams != iDistributionParameterList.end(); itParams++) {
00040 const FldDistributionParameters& aParams = *itParams;
00041
00042 const Gaussian gaussianGenerator (aParams);
00043
00044 _demandGeneratorList.push_back (gaussianGenerator);
00045 }
00046 }
00047
00048
00049 void DemandGeneratorList::
00050 generateVariateList (VariateList_T& ioVariateList) const {
00051
00052
00053 DemandGeneratorList_T::const_iterator itGenerator =
00054 _demandGeneratorList.begin();
00055 for ( ; itGenerator != _demandGeneratorList.end(); itGenerator++) {
00056 const Gaussian& gaussianGenerator = *itGenerator;
00057
00058
00059 const double generatedVariate = gaussianGenerator.generateVariate ();
00060 ioVariateList.push_back (generatedVariate);
00061 }
00062 }
00063
00064 }