00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_ARG_PROXY
00017 #define ROO_ARG_PROXY
00018
00019 #include "TNamed.h"
00020 #include "RooAbsProxy.h"
00021 #include "RooAbsArg.h"
00022
00023
00024 class RooArgProxy : public TNamed, public RooAbsProxy {
00025 public:
00026
00027
00028 RooArgProxy() : _owner(0), _arg(0), _valueServer(kFALSE), _shapeServer(kFALSE), _isFund(kTRUE), _ownArg(kFALSE) {
00029
00030 } ;
00031 RooArgProxy(const char* name, const char* desc, RooAbsArg* owner,
00032 Bool_t valueServer, Bool_t shapeServer, Bool_t proxyOwnsArg=kFALSE) ;
00033 RooArgProxy(const char* name, const char* desc, RooAbsArg* owner, RooAbsArg& arg,
00034 Bool_t valueServer, Bool_t shapeServer, Bool_t proxyOwnsArg=kFALSE) ;
00035 RooArgProxy(const char* name, RooAbsArg* owner, const RooArgProxy& other) ;
00036 virtual ~RooArgProxy() ;
00037 inline RooAbsArg* absArg() const {
00038
00039 return _arg ;
00040 }
00041
00042 virtual const char* name() const {
00043
00044 return GetName() ;
00045 }
00046 virtual void print(ostream& os, Bool_t addContents=kFALSE) const ;
00047
00048 protected:
00049
00050 friend class RooSimultaneous ;
00051 RooAbsArg* _owner ;
00052 RooAbsArg* _arg ;
00053
00054 Bool_t _valueServer ;
00055 Bool_t _shapeServer ;
00056 Bool_t _isFund ;
00057 Bool_t _ownArg ;
00058
00059 friend class RooAbsArg ;
00060
00061 inline Bool_t isValueServer() const {
00062
00063 return _valueServer ;
00064 }
00065 inline Bool_t isShapeServer() const {
00066
00067 return _shapeServer ;
00068 }
00069 virtual Bool_t changePointer(const RooAbsCollection& newServerSet, Bool_t nameChange=kFALSE, Bool_t factoryInitMode=kFALSE) ;
00070
00071 virtual void changeDataSet(const RooArgSet* newNormSet) ;
00072
00073 ClassDef(RooArgProxy,1)
00074 };
00075
00076 #endif
00077