23 #ifdef __CONSTRUCTOR__ 24 cout <<
"SystemModel::Constructor" << endl;
25 #endif // __CONSTRUCTOR__ 26 if (systempdf != NULL)
32 _systemWithoutInputs =
true;
33 _SystemPdf = systempdf;
38 _systemWithoutInputs =
false;
39 _SystemPdf = systempdf;
44 cerr <<
"SystemModel::Constructor : SystemPdf can only have 1 or 2 conditional Arguments (x and u, in that order!))" << endl;
56 cout <<
"SystemModel::Destructor" << endl;
57 #endif // __DESTRUCTOR__ 77 template<
typename T>
int 80 return _SystemPdf->DimensionGet();
83 template<
typename T>
bool 86 return _systemWithoutInputs;
97 template<
typename T>
void 105 _systemWithoutInputs =
true;
111 _systemWithoutInputs =
false;
117 cerr <<
"SystemModel::SystemPdfSet() : SystemPdf can only have 1 or 2 conditional Arguments (x and u, in that order!))" << endl;
124 template<
typename T> T
126 void * sampling_args)
128 assert(_systemWithoutInputs ==
false);
129 _SystemPdf->ConditionalArgumentSet(0,x);
130 _SystemPdf->ConditionalArgumentSet(1,u);
132 _SystemPdf->SampleFrom(Simulated, sampling_method,sampling_args);
137 template<
typename T> T
139 void * sampling_args)
141 assert(_systemWithoutInputs ==
true);
142 _SystemPdf->ConditionalArgumentSet(0,x);
144 _SystemPdf->SampleFrom(Simulated, sampling_method,sampling_args);
153 assert(_systemWithoutInputs ==
false);
154 _SystemPdf->ConditionalArgumentSet(0,x_kminusone);
155 _SystemPdf->ConditionalArgumentSet(1,u);
156 return _SystemPdf->ProbabilityGet(x_k);
162 assert(_systemWithoutInputs ==
true);
163 _SystemPdf->ConditionalArgumentSet(0,x_kminusone);
164 return _SystemPdf->ProbabilityGet(x_k);
unsigned int NumConditionalArgumentsGet() const
Get the Number of conditional arguments.
T & ValueGet()
Get the value of the Sample.
Class representing a probability (a double between 0 and 1)