16#ifndef ROO_TEMPLATE_PROXY
17#define ROO_TEMPLATE_PROXY
54 :
RooArgProxy(theName, desc, owner, valueServer, shapeServer, proxyOwnsArg) { }
63 RooArgProxy(theName, desc, owner, ref, valueServer, shapeServer, proxyOwnsArg) { }
78 return arg().getValBatch(begin, batchSize,
_nset);
82 inline const T&
arg()
const {
return static_cast<T&
>(*_arg); }
133 R__SUGGEST_ALTERNATIVE(
"The template argument of RooTemplateProxy needs to derive from RooAbsRealLValue.") {
#define R__SUGGEST_ALTERNATIVE(ALTERNATIVE)
#define ClassDef(name, id)
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value (of arbitrary type) an...
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
virtual Double_t getMax(const char *name=0) const
Get maximum of currently defined range.
Bool_t hasMax(const char *name=0) const
Check if variable has an upper bound.
virtual void setVal(Double_t value)=0
Bool_t hasMin(const char *name=0) const
Check if variable has a lower bound.
virtual Double_t getMin(const char *name=0) const
Get miniminum of currently defined range.
RooArgProxy is the abstact interface for RooAbsArg proxy classes.
virtual Bool_t changePointer(const RooAbsCollection &newServerSet, Bool_t nameChange=kFALSE, Bool_t factoryInitMode=kFALSE)
Change proxied object to object of same name in given list.
RooAbsArg * absArg() const
RooArgSet is a container object that can hold multiple RooAbsArg objects.
A simple container to hold a batch of data values.
A RooTemplateProxy is used to hold references to other objects in an expression tree.
Double_t min(const char *rname=0) const
Query lower limit of range. This requires the payload to be RooAbsRealLValue or derived.
RooTemplateProxy(const char *theName, const char *desc, RooAbsArg *owner, T &ref, Bool_t valueServer=true, Bool_t shapeServer=false, Bool_t proxyOwnsArg=false)
Constructor with owner and proxied real-valued object.
RooAbsRealLValue * lvptr_impl(RooAbsArg *) const R__SUGGEST_ALTERNATIVE("The template argument of RooTemplateProxy needs to derive from RooAbsRealLValue.")
Overload with base types.
RooSpan< const double > getValBatch(std::size_t begin, std::size_t batchSize) const
virtual TObject * Clone(const char *newName=0) const
Make a clone of an object using the Streamer facility.
RooAbsRealLValue * lvptr() const
Return l-value pointer to contents.
Bool_t setArg(T &newRef)
Change object held in proxy into newRef.
RooTemplateProxy(const char *theName, const char *desc, RooAbsArg *owner, Bool_t valueServer=true, Bool_t shapeServer=false, Bool_t proxyOwnsArg=false)
Constructor with owner.
RooTemplateProxy(const char *theName, RooAbsArg *owner, const RooTemplateProxy &other)
Copy constructor.
Bool_t hasMax(const char *rname=0) const
Check if the range has a upper bound. This requires the payload to be RooAbsRealLValue or derived.
Bool_t hasMin(const char *rname=0) const
Check if the range has a lower bound. This requires the payload to be RooAbsRealLValue or derived.
RooTemplateProxy< T > & operator=(const Double_t &value)
Assign a new value to the object pointed to by the proxy. This requires the payload to be assignable ...
const T & arg() const
Return reference to object held in proxy.
Double_t max(const char *rname=0) const
Query upper limit of range. This requires the payload to be RooAbsRealLValue or derived.
RooAbsRealLValue * lvptr_impl(RooAbsRealLValue *) const
Overload with RooAbsRealLValue and derived types. Just returns the pointer.
virtual const char * GetName() const
Returns name of object.
Mother of all ROOT objects.