pub struct Manager<F: Field + 'static> {
pub model: Model<F>,
pub dataset: Dataset<F>,
}
Expand description
Fields§
§model: Model<F>
The associated Model
.
dataset: Dataset<F>
The associated Dataset
.
Implementations§
Source§impl<F: Field> Manager<F>
impl<F: Field> Manager<F>
Sourcepub fn new(
model: &Model<F>,
dataset: &Dataset<F>,
) -> Result<Self, RustitudeError>
pub fn new( model: &Model<F>, dataset: &Dataset<F>, ) -> Result<Self, RustitudeError>
Generates a new Manager
from a Model
and Dataset
.
§Errors
This method will return a RustitudeError
if the precaluclation phase of the Model
fails for any events in the Dataset
. See Model::load
for more information.
Sourcepub fn evaluate(&self, parameters: &[F]) -> Result<Vec<F>, RustitudeError>
pub fn evaluate(&self, parameters: &[F]) -> Result<Vec<F>, RustitudeError>
Evaluate the Model
over the Dataset
with the given free parameters.
§Errors
This method will return a RustitudeError
if the amplitude calculation fails. See
Model::compute
for more information.
Sourcepub fn evaluate_indexed(
&self,
parameters: &[F],
indices: &[usize],
) -> Result<Vec<F>, RustitudeError>
pub fn evaluate_indexed( &self, parameters: &[F], indices: &[usize], ) -> Result<Vec<F>, RustitudeError>
Evaluate the Model
over the Dataset
with the given free parameters.
This method allows the user to supply a list of indices and will only evaluate events at those indices. This can be used to evaluate only a subset of events or to resample events with replacement, such as in a bootstrap.
§Errors
This method will return a RustitudeError
if the amplitude calculation fails. See
Model::compute
for more information.
Sourcepub fn par_evaluate(&self, parameters: &[F]) -> Result<Vec<F>, RustitudeError>
pub fn par_evaluate(&self, parameters: &[F]) -> Result<Vec<F>, RustitudeError>
Evaluate the Model
over the Dataset
with the given free parameters.
This version uses a parallel loop over events.
§Errors
This method will return a RustitudeError
if the amplitude calculation fails. See
Model::compute
for more information.
Sourcepub fn par_evaluate_indexed(
&self,
parameters: &[F],
indices: &[usize],
) -> Result<Vec<F>, RustitudeError>
pub fn par_evaluate_indexed( &self, parameters: &[F], indices: &[usize], ) -> Result<Vec<F>, RustitudeError>
Evaluate the Model
over the Dataset
with the given free parameters.
This method allows the user to supply a list of indices and will only evaluate events at those indices. This can be used to evaluate only a subset of events or to resample events with replacement, such as in a bootstrap.
This version uses a parallel loop over events.
§Errors
This method will return a RustitudeError
if the amplitude calculation fails. See
Model::compute
for more information.
Sourcepub fn get_amplitude(
&self,
amplitude_name: &str,
) -> Result<Amplitude<F>, RustitudeError>
pub fn get_amplitude( &self, amplitude_name: &str, ) -> Result<Amplitude<F>, RustitudeError>
Get a copy of an Amplitude
in the Model
by name.
§Errors
This method will return a RustitudeError
if there is no amplitude found with the given
name in the parent Model
. See Model::get_amplitude
for more information.
Sourcepub fn get_parameter(
&self,
amplitude_name: &str,
parameter_name: &str,
) -> Result<Parameter<F>, RustitudeError>
pub fn get_parameter( &self, amplitude_name: &str, parameter_name: &str, ) -> Result<Parameter<F>, RustitudeError>
Get a copy of a Parameter
in a Model
by name and the name of the parent
Amplitude
.
§Errors
This method will return a RustitudeError
if there is no parameter found with the given
name in the parent Model
. It will also first check if the given amplitude exists, and
this method can also fail in the same way (see Model::get_amplitude
and
Model::get_parameter
).
Sourcepub fn print_parameters(&self)
pub fn print_parameters(&self)
Print the free parameters in the Model
. See Model::print_parameters
for more
information.
Sourcepub fn free_parameters(&self) -> Vec<Parameter<F>>
pub fn free_parameters(&self) -> Vec<Parameter<F>>
Returns a Vec<Parameter<F>>
containing the free parameters in the Model
.
See Model::free_parameters
for more information.
Sourcepub fn fixed_parameters(&self) -> Vec<Parameter<F>>
pub fn fixed_parameters(&self) -> Vec<Parameter<F>>
Returns a Vec<Parameter<F>>
containing the fixed parameters in the Model
.
See Model::fixed_parameters
for more information.
Sourcepub fn constrain(
&mut self,
amplitude_1: &str,
parameter_1: &str,
amplitude_2: &str,
parameter_2: &str,
) -> Result<(), RustitudeError>
pub fn constrain( &mut self, amplitude_1: &str, parameter_1: &str, amplitude_2: &str, parameter_2: &str, ) -> Result<(), RustitudeError>
Constrain two parameters by name, reducing the number of free parameters by one.
§Errors
This method will fail if any of the given amplitude or parameter names don’t correspond to
a valid amplitude-parameter pair. See Model::constrain
for more information.
Sourcepub fn fix(
&mut self,
amplitude: &str,
parameter: &str,
value: F,
) -> Result<(), RustitudeError>
pub fn fix( &mut self, amplitude: &str, parameter: &str, value: F, ) -> Result<(), RustitudeError>
Fix a parameter by name to the given value.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::fix
for more information.
Sourcepub fn free(
&mut self,
amplitude: &str,
parameter: &str,
) -> Result<(), RustitudeError>
pub fn free( &mut self, amplitude: &str, parameter: &str, ) -> Result<(), RustitudeError>
Free a fixed parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::free
for more information.
Sourcepub fn set_bounds(
&mut self,
amplitude: &str,
parameter: &str,
bounds: (F, F),
) -> Result<(), RustitudeError>
pub fn set_bounds( &mut self, amplitude: &str, parameter: &str, bounds: (F, F), ) -> Result<(), RustitudeError>
Set the bounds of a parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::set_bounds
for more information.
Sourcepub fn set_initial(
&mut self,
amplitude: &str,
parameter: &str,
initial: F,
) -> Result<(), RustitudeError>
pub fn set_initial( &mut self, amplitude: &str, parameter: &str, initial: F, ) -> Result<(), RustitudeError>
Set the initial value of a parameter by name.
§Errors
This method will fail if the given amplitude-parameter pair does not exist. See
Model::set_initial
for more information.
Sourcepub fn get_bounds(&self) -> Vec<(F, F)>
pub fn get_bounds(&self) -> Vec<(F, F)>
Get a list of bounds for all free parameters in the Model
. See
Model::get_bounds
for more information.
Sourcepub fn get_initial(&self) -> Vec<F>
pub fn get_initial(&self) -> Vec<F>
Get a list of initial values for all free parameters in the Model
. See
Model::get_initial
for more information.
Sourcepub fn get_n_free(&self) -> usize
pub fn get_n_free(&self) -> usize
Get the number of free parameters in the Model
See Model::get_n_free
for
more information.
Sourcepub fn activate(&mut self, amplitude: &str) -> Result<(), RustitudeError>
pub fn activate(&mut self, amplitude: &str) -> Result<(), RustitudeError>
Activate an Amplitude
by name. See Model::activate
for more information.
§Errors
This function will return a RustitudeError::AmplitudeNotFoundError
if the given
amplitude is not present in the Model
.
Sourcepub fn activate_all(&mut self)
pub fn activate_all(&mut self)
Activate all Amplitude
s by name. See Model::activate_all
for more information.
Sourcepub fn isolate(&mut self, amplitudes: Vec<&str>) -> Result<(), RustitudeError>
pub fn isolate(&mut self, amplitudes: Vec<&str>) -> Result<(), RustitudeError>
Activate only the specified Amplitude
s while deactivating the rest. See
Model::isolate
for more information.
§Errors
This function will return a RustitudeError::AmplitudeNotFoundError
if a given
amplitude is not present in the Model
.
Sourcepub fn deactivate(&mut self, amplitude: &str) -> Result<(), RustitudeError>
pub fn deactivate(&mut self, amplitude: &str) -> Result<(), RustitudeError>
Deactivate an Amplitude
by name. See Model::deactivate
for more information.
§Errors
This function will return a RustitudeError::AmplitudeNotFoundError
if the given
amplitude is not present in the Model
.
Sourcepub fn deactivate_all(&mut self)
pub fn deactivate_all(&mut self)
Deactivate all Amplitude
s by name. See Model::deactivate_all
for more information.
Trait Implementations§
Auto Trait Implementations§
impl<F> Freeze for Manager<F>
impl<F> !RefUnwindSafe for Manager<F>
impl<F> Send for Manager<F>
impl<F> Sync for Manager<F>
impl<F> Unpin for Manager<F>where
F: Unpin,
impl<F> !UnwindSafe for Manager<F>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.