47          bool valueServer, 
bool shapeServer, 
bool proxyOwnsArg) :
 
   48  TNamed(inName,desc), _owner(owner),
 
   49  _valueServer(valueServer), _shapeServer(shapeServer), _ownArg(proxyOwnsArg)
 
   62          bool valueServer, 
bool shapeServer, 
bool proxyOwnsArg) :
 
   63  TNamed(inName,desc), _owner(owner), _arg(&arg),
 
   64  _valueServer(valueServer), _shapeServer(shapeServer), _ownArg(proxyOwnsArg)
 
   77  _valueServer(other._valueServer), _shapeServer(other._shapeServer),
 
   78  _isFund(other._isFund), _ownArg(other._ownArg)
 
  108  const bool initEmpty = 
_arg == 
nullptr;
 
  112    if (newArg==
_owner) newArg = 
nullptr;
 
  113  } 
else if (factoryInitMode) {
 
  114    newArg = newServerList.
first() ;
 
  129  if (initEmpty && !factoryInitMode) 
return true;
 
  130  return newArg != 
nullptr;
 
  140   auto newArgFound = replacements.find(
_arg);
 
  141   if (newArgFound != replacements.end()) {
 
  142      newArg = newArgFound->second;
 
  156   return newArg != 
nullptr;
 
  179  if (
_arg && addContents) {
 
Common abstract base class for objects that represent a value and a "shape" in RooFit.
void registerProxy(RooArgProxy &proxy)
Register an RooArgProxy in the proxy list.
void unRegisterProxy(RooArgProxy &proxy)
Remove proxy from proxy list.
void addServer(RooAbsArg &server, bool valueProp=true, bool shapeProp=false, std::size_t refCount=1)
Register another RooAbsArg as a server to us, ie, declare that we depend on it.
void setProxyNormSet(const RooArgSet *nset)
Forward a change in the cached normalization argset to all the registered proxies.
TObject * Clone(const char *newname=nullptr) const override
Make a clone of an object using the Streamer facility.
virtual bool isFundamental() const
Is this object a fundamental type that can be added to a dataset? Fundamental-type subclasses overrid...
RooAbsArg * findNewServer(const RooAbsCollection &newSet, bool nameChange) const
Find the new server in the specified set that matches the old server.
Abstract container object that can hold multiple RooAbsArg objects.
RooAbsArg * first() const
RooAbsProxy is the abstract interface for proxy classes.
virtual void changeNormSet(const RooArgSet *newNormSet)
Destructor.
Abstract interface for RooAbsArg proxy classes.
void print(std::ostream &os, bool addContents=false) const override
Print the name of the proxy on ostream.
const char * name() const override
Return name of proxy.
RooAbsArg * _owner
Pointer to owner of proxy.
~RooArgProxy() override
Destructor.
bool _ownArg
If true proxy owns contents.
virtual void changeDataSet(const RooArgSet *newNormSet)
Change the normalization set that should be offered to the content objects getVal() when evaluated.
RooArgProxy()=default
Default constructor.
bool _isFund
If true proxy contains an lvalue.
bool _valueServer
If true contents is value server of owner.
RooAbsArg * _arg
Pointer to content of proxy.
bool _shapeServer
If true contents is shape server of owner.
bool changePointer(const RooAbsCollection &newServerSet, bool nameChange=false, bool factoryInitMode=false) override
Change proxied object to object of same name in given list.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
The TNamed class is the base class for all named ROOT classes.
const char * GetName() const override
Returns name of object.