RunContext(RunContext &&)=default
std::unordered_map< const RooAbsReal *, std::vector< double > > ownedMemory
Memory owned by this struct. It is associated to nodes in the computation graph using their pointers.
RooSpan< const double > getBatch(const RooArgProxy &proxy) const
RooSpan< double > makeBatch(const RooAbsReal *owner, std::size_t size)
Create a writable batch.
RooSpan< const double > operator[](const RooAbsReal *owner) const
Retrieve a batch of data corresponding to the element passed as owner.
std::vector< double > logProbabilities
If evaluation should only occur in a range, the range name can be passed here.
void clear()
Clear all computation results without freeing memory.
RunContext(const RunContext &)=delete
Deleted because copying the owned memory is expensive.
RooSpan< double > getWritableBatch(const RooAbsReal *owner)
Check if there is a writable span of data corresponding to the object passed as owner.
std::unordered_map< const RooAbsReal *, RooSpan< const double > > spans
Once an object has computed its value(s), the span pointing to the results is registered here.
Data that has to be passed around when evaluating functions / PDFs.