24 #define USEMEMPOOLFORARGSET
25 template <
class RooSet_t,
size_t>
26 class MemPoolForRooSets;
28 class RooArgSet :
public RooAbsCollection {
31 #ifdef USEMEMPOOLFORARGSET
32 void*
operator new (
size_t bytes);
33 void*
operator new (
size_t bytes,
void* ptr) noexcept;
34 void operator delete (
void *ptr);
39 RooArgSet(
const RooArgList& list) ;
40 RooArgSet(
const RooArgList& list,
const RooAbsArg* var1) ;
41 explicit RooArgSet(
const TCollection& tcoll,
const char* name=
"") ;
42 explicit RooArgSet(
const char *name);
43 RooArgSet(
const RooArgSet& set1,
const RooArgSet& set2,
45 RooArgSet(
const RooAbsArg& var1,
47 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
49 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
50 const RooAbsArg& var3,
52 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
53 const RooAbsArg& var3,
const RooAbsArg& var4,
55 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
56 const RooAbsArg& var3,
const RooAbsArg& var4,
57 const RooAbsArg& var5,
59 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
60 const RooAbsArg& var3,
const RooAbsArg& var4,
61 const RooAbsArg& var5,
const RooAbsArg& var6,
63 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
64 const RooAbsArg& var3,
const RooAbsArg& var4,
65 const RooAbsArg& var5,
const RooAbsArg& var6,
66 const RooAbsArg& var7,
68 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
69 const RooAbsArg& var3,
const RooAbsArg& var4,
70 const RooAbsArg& var5,
const RooAbsArg& var6,
71 const RooAbsArg& var7,
const RooAbsArg& var8,
73 RooArgSet(
const RooAbsArg& var1,
const RooAbsArg& var2,
74 const RooAbsArg& var3,
const RooAbsArg& var4,
75 const RooAbsArg& var5,
const RooAbsArg& var6,
76 const RooAbsArg& var7,
const RooAbsArg& var8,
77 const RooAbsArg& var9,
const char *name=
"");
83 RooArgSet(
const RooArgSet& other,
const char *name=
"");
84 virtual TObject* clone(
const char* newname)
const {
return new RooArgSet(*
this,newname); }
85 virtual TObject* create(
const char* newname)
const {
return new RooArgSet(newname); }
86 RooArgSet& operator=(
const RooArgSet& other) { RooAbsCollection::operator=(other) ;
return *this ;}
88 virtual Bool_t add(
const RooAbsCollection& col, Bool_t silent=kFALSE) {
90 return RooAbsCollection::add(col, silent);
92 virtual Bool_t addOwned(
const RooAbsCollection& col, Bool_t silent=kFALSE) {
94 return RooAbsCollection::addOwned(col, silent);
96 virtual void addClone(
const RooAbsCollection& col, Bool_t silent=kFALSE) {
98 RooAbsCollection::addClone(col, silent);
101 virtual Bool_t add(
const RooAbsArg& var, Bool_t silent=kFALSE) ;
102 virtual Bool_t addOwned(RooAbsArg& var, Bool_t silent=kFALSE);
103 virtual RooAbsArg *addClone(
const RooAbsArg& var, Bool_t silent=kFALSE) ;
105 using RooAbsCollection::operator[];
106 RooAbsArg& operator[](
const char* name)
const;
110 virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) {
112 return readFromStream(is, compact, 0, 0, verbose) ;
114 Bool_t readFromStream(std::istream& is, Bool_t compact,
const char* flagReadAtt,
const char* section, Bool_t verbose=kFALSE) ;
115 virtual void writeToStream(std::ostream& os, Bool_t compact,
const char* section=0)
const;
116 void writeToFile(
const char* fileName)
const ;
117 Bool_t readFromFile(
const char* fileName,
const char* flagReadAtt=0,
const char* section=0, Bool_t verbose=kFALSE) ;
120 Double_t getRealValue(
const char* name, Double_t defVal=0, Bool_t verbose=kFALSE)
const ;
121 const char* getCatLabel(
const char* name,
const char* defVal=
"", Bool_t verbose=kFALSE)
const ;
122 Int_t getCatIndex(
const char* name, Int_t defVal=0, Bool_t verbose=kFALSE)
const ;
123 const char* getStringValue(
const char* name,
const char* defVal=
"", Bool_t verbose=kFALSE)
const ;
124 Bool_t setRealValue(
const char* name, Double_t newVal=0, Bool_t verbose=kFALSE) ;
125 Bool_t setCatLabel(
const char* name,
const char* newVal=
"", Bool_t verbose=kFALSE) ;
126 Bool_t setCatIndex(
const char* name, Int_t newVal=0, Bool_t verbose=kFALSE) ;
127 Bool_t setStringValue(
const char* name,
const char* newVal=
"", Bool_t verbose=kFALSE) ;
129 static void cleanup() ;
131 Bool_t isInRange(
const char* rangeSpec) ;
134 RooArgSet * snapshot(
bool deepCopy =
true)
const {
135 return static_cast<RooArgSet*
>(RooAbsCollection::snapshot(deepCopy));
138 Bool_t snapshot(RooAbsCollection& output, Bool_t deepCopy=kTRUE)
const {
139 return RooAbsCollection::snapshot(output, deepCopy);
144 Bool_t checkForDup(
const RooAbsArg& arg, Bool_t silent)
const ;
146 #ifdef USEMEMPOOLFORARGSET
148 typedef MemPoolForRooSets<RooArgSet, 10*600> MemPool;
152 static MemPool* memPool();
155 ClassDef(RooArgSet,1)