00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_ABS_HIDDEN_REAL
00017 #define ROO_ABS_HIDDEN_REAL
00018
00019 class RooArgSet ;
00020 #include "RooAbsReal.h"
00021 #include "RooCategoryProxy.h"
00022
00023 class RooCategory ;
00024
00025 class RooAbsHiddenReal : public RooAbsReal {
00026 public:
00027
00028 inline RooAbsHiddenReal() {
00029
00030 }
00031 RooAbsHiddenReal(const char *name, const char *title, const char *unit= "") ;
00032 RooAbsHiddenReal(const char *name, const char *title, RooAbsCategory& blindState, const char *unit= "") ;
00033 RooAbsHiddenReal(const RooAbsHiddenReal& other, const char* name=0) ;
00034 virtual ~RooAbsHiddenReal();
00035
00036
00037 virtual Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
00038 virtual void writeToStream(ostream& os, Bool_t compact) const ;
00039
00040
00041 virtual void printValue(ostream& stream) const ;
00042
00043 inline Bool_t isHidden() const {
00044
00045 return _state.arg().getIndex()!=0 ;
00046 }
00047
00048 Double_t getHiddenVal(const RooArgSet* nset=0) const {
00049
00050 return RooAbsReal::getVal(nset) ;
00051 }
00052
00053 protected:
00054
00055
00056
00057
00058 virtual Double_t getVal(const RooArgSet* nset=0) const {
00059
00060 return RooAbsReal::getVal(nset) ;
00061 }
00062
00063 static RooCategory* _dummyBlindState ;
00064 RooAbsCategory& dummyBlindState() const ;
00065
00066 RooCategoryProxy _state ;
00067
00068 ClassDef(RooAbsHiddenReal,1)
00069 };
00070
00071 #endif