28 class RooCmdArg :
public TNamed {
32 RooCmdArg(
const char* name,
33 Int_t i1=0, Int_t i2=0,
34 Double_t d1=0, Double_t d2=0,
35 const char* s1=0,
const char* s2=0,
36 const TObject* o1=0,
const TObject* o2=0,
const RooCmdArg* ca=0,
const char* s3=0,
37 const RooArgSet* c1=0,
const RooArgSet* c2=0) ;
38 RooCmdArg(
const RooCmdArg& other) ;
39 RooCmdArg& operator=(
const RooCmdArg& other) ;
40 void addArg(
const RooCmdArg& arg) ;
41 void setProcessRecArgs(Bool_t flag, Bool_t prefix=kTRUE) {
44 _prefixSubArgs = prefix ;
47 RooLinkedList& subArgs() {
52 virtual TObject* Clone(
const char* newName=0)
const {
53 RooCmdArg* newarg =
new RooCmdArg(*
this) ;
54 if (newName) { newarg->SetName(newName) ; }
60 static const RooCmdArg& none() ;
62 const char* opcode()
const {
64 return strlen(GetName()) ? GetName() : 0 ;
67 void setInt(Int_t idx,Int_t value) {
70 void setDouble(Int_t idx,Double_t value) {
73 void setString(Int_t idx,
const char* value) {
76 void setObject(Int_t idx,TObject* value) {
79 void setSet(Int_t idx,
const RooArgSet& set) ;
81 Int_t getInt(Int_t idx)
const {
85 Double_t getDouble(Int_t idx)
const {
89 const char* getString(Int_t idx)
const {
91 return (_s[idx].size()>0) ? _s[idx].c_str() : 0 ;
93 const TObject* getObject(Int_t idx)
const {
98 const RooArgSet* getSet(Int_t idx)
const ;
100 void Print(
const char* =
"")
const;
104 static const RooCmdArg _none ;
105 friend class RooCmdConfig ;
109 friend class RooAbsCollection ;
116 Bool_t _procSubArgs ;
118 RooLinkedList _argList ;
119 Bool_t _prefixSubArgs ;
121 ClassDef(RooCmdArg,2)