45 x(
"x",
"Dependent",this,_x),
46 c(
"c",
"Exponent",this,_c)
77 assert(code == 1 || code ==2);
79 auto& constant = code == 1 ?
c :
x;
80 auto& integrand = code == 1 ?
x :
c;
82 if (constant == 0.0) {
83 return integrand.
max(rangeName) - integrand.min(rangeName);
86 return (
exp(constant*integrand.max(rangeName)) -
exp(constant*integrand.min(rangeName)))
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual RooSpan< const double > getValues(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet=nullptr) const
by this change, please consult the release notes for ROOT 6.24 for guidance on how to make this trans...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual RooSpan< double > computeExponential(const RooAbsReal *, RunContext &, RooSpan< const double > x, RooSpan< const double > c)=0
Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const override
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const override
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
RooSpan< double > evaluateSpan(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const override
Compute multiple values of Exponential distribution.
Double_t evaluate() const override
cout << "exp(x=" << x << ",c=" << c << ")=" << exp(c*x) << endl ;
A simple container to hold a batch of data values.
double max(const char *rname=0) const
Query upper limit of range. This requires the payload to be RooAbsRealLValue or derived.
R__EXTERN RooBatchComputeInterface * dispatch
This dispatch pointer points to an implementation of the compute library, provided one has been loade...
This struct enables passing computation data around between elements of a computation graph.