30#ifndef roofit_roofitcore_RooFit_RooCollectionProxy_h 
   31#define roofit_roofitcore_RooFit_RooCollectionProxy_h 
   39template <
class RooCollection_t>
 
   56   template <
class Other_t>
 
   68   template <
class Other_t>
 
   76      RooCollection_t::setName(
other.GetName());
 
   83      RooCollection_t::add(
other);
 
 
  103   const char *
name()
 const override { 
return RooCollection_t::GetName(); }
 
  122#ifdef ROOFIT_MEMORY_SAFE_INTERFACES 
  126#ifdef ROOFIT_MEMORY_SAFE_INTERFACES 
  141      for (
auto const &arg : list) {
 
 
  154      RooCollection_t::operator=(
other);
 
 
  174         throw std::runtime_error(
 
  175            "Attempt to add elements to a RooSetProxy or RooListProxy without owner!" 
  176            " Please avoid using the RooListProxy default constructor, which should only be used by IO.");
 
 
  188template <
class RooCollection_t>
 
  192   bool ret = RooCollection_t::add(var, 
silent);
 
 
  204template <
class RooCollection_t>
 
  208   bool ret = RooCollection_t::addOwned(var, 
silent);
 
  210      _owner->addServer((
RooAbsArg &)var, _defValueServer, _defShapeServer);
 
 
  220template <
class RooCollection_t>
 
  226      _owner->addServer((
RooAbsArg &)var, _defValueServer, _defShapeServer);
 
 
  236template <
class RooCollection_t>
 
  241      if (!RooCollection_t::isOwning())
 
 
  251template <
class RooCollection_t>
 
  255   if (
ret && !RooCollection_t::isOwning()) {
 
 
  265template <
class RooCollection_t>
 
  268   if (!RooCollection_t::isOwning()) {
 
  269      for (
auto const &arg : *
this) {
 
  270         if (!RooCollection_t::isOwning()) {
 
  271            _owner->removeServer(*arg);
 
  276   RooCollection_t::removeAll();
 
 
  283template <
class RooCollection_t>
 
  287   if (RooCollection_t::empty()) {
 
  300   for (
auto const &arg : *
this) {
 
  303         error |= !RooCollection_t::replace(*arg, *
newArg);
 
 
  308template <
class RooCollection_t>
 
  310   std::unordered_map<RooAbsArg *, RooAbsArg *> 
const &
replacements)
 
  313   for (
auto const &arg : *
this) {
 
  316         error |= !RooCollection_t::replace(*arg, *
newArgFound->second);
 
 
 
  326template <
class RooCollection_t>
 
  333      os << 
name() << 
"=(";
 
  335      for (
auto const &arg : *
this) {
 
 
 
 
 
 
 
 
 
 
 
#define ClassDefOverride(name, id)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
 
const_iterator end() const
 
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.
 
Abstract container object that can hold multiple RooAbsArg objects.
 
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
 
virtual bool addOwned(RooAbsArg &var, bool silent=false)
Add an argument and transfer the ownership to the collection.
 
virtual RooAbsArg * addClone(const RooAbsArg &var, bool silent=false)
Add a clone of the specified argument to list.
 
Abstract interface for proxy classes.
 
Concrete proxy for RooArgSet or RooArgList objects.
 
RooCollectionProxy & operator=(RooCollectionProxy &&other)=delete
 
void removeAll() override
Remove all argument inset using remove(const RooAbsArg&).
 
bool changePointer(const RooAbsCollection &newServerSet, bool nameChange=false, bool factoryInitMode=false) override
Process server change operation on owner.
 
bool defShapeServer() const
 
void print(std::ostream &os, bool addContents=false) const override
Printing name of proxy on ostream.
 
RooCollectionProxy & operator=(const RooCollection_t &other)
Assign values of arguments on other set to arguments in this set.
 
bool changePointer(std::unordered_map< RooAbsArg *, RooAbsArg * > const &replacements) override
 
void initializeAfterIOConstructor(RooAbsArg *owner, const Other_t &other)
Initializes this RooCollection proxy from another proxy.
 
bool addOwned(RooAbsArg &var, bool silent=false) override
Overloaded RooCollection_t::addOwned() method insert object into owning set and registers object as s...
 
RooCollectionProxy & operator=(RooCollectionProxy const &other)=delete
 
bool remove(const RooAbsCollection &list, bool silent=false, bool matchByNameOnly=false)
Remove each argument in the input list from our list using remove(const RooAbsArg&).
 
~RooCollectionProxy() override
 
bool add(const RooAbsArg &var, bool silent=false) override
Overloaded RooCollection_t::add() method inserts 'var' into set and registers 'var' as server to owne...
 
RooAbsArg * addClone(const RooAbsArg &var, bool silent=false) override
Overloaded RooCollection_t::addClone() method insert clone of object into owning set and registers cl...
 
bool add(const RooAbsArg &var, bool valueServer, bool shapeServer, bool silent)
Overloaded RooCollection_t::add() method insert object into set and registers object as server to own...
 
RooCollectionProxy(const char *inName, RooAbsArg *owner, const Other_t &other)
Copy constructor.
 
const char * name() const override
 
bool remove(const RooAbsArg &var, bool silent=false, bool matchByNameOnly=false) override
Remove object 'var' from set and deregister 'var' as server to owner.
 
bool replace(const RooAbsArg &var1, const RooAbsArg &var2) override
Replace object 'var1' in set with 'var2'.
 
bool defValueServer() const
 
RooCollectionProxy(const char *inName, const char *, RooAbsArg *owner, bool defValueServer=true, bool defShapeServer=false)
Construct proxy with given name and description, with given owner The default value and shape dirty p...