16 #ifndef ROO_LINEAR_VAR
17 #define ROO_LINEAR_VAR
29 class RooLinearVar :
public RooAbsRealLValue {
33 RooLinearVar(
const char *name,
const char *title, RooAbsRealLValue& variable,
const RooAbsReal& slope,
const RooAbsReal& offset,
const char *unit=
"") ;
34 RooLinearVar(
const RooLinearVar& other,
const char* name=0);
35 virtual TObject* clone(
const char* newname)
const {
return new RooLinearVar(*
this,newname); }
36 virtual ~RooLinearVar() ;
39 virtual void setVal(Double_t value) ;
42 virtual Bool_t hasBinning(
const char* name)
const ;
43 virtual const RooAbsBinning& getBinning(
const char* name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE)
const ;
44 virtual RooAbsBinning& getBinning(
const char* name=0, Bool_t verbose=kTRUE, Bool_t createOnTheFly=kFALSE) ;
45 virtual std::list<std::string> getBinningNames()
const;
47 virtual Double_t jacobian()
const ;
48 virtual Bool_t isJacobianOK(
const RooArgSet& depList)
const ;
51 virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
52 virtual void writeToStream(std::ostream& os, Bool_t compact)
const ;
56 using RooAbsRealLValue::operator= ;
57 using RooAbsRealLValue::setVal ;
61 virtual Double_t evaluate()
const ;
63 mutable RooLinTransBinning _binning ;
64 RooLinkedList _altBinning ;
67 RooRealProxy _offset ;
69 ClassDef(RooLinearVar,1)