00001 // @(#)root/hist:$Id: TF12.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Rene Brun 05/04/2003 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TF12 00013 #define ROOT_TF12 00014 00015 ////////////////////////////////////////////////////////////////////////// 00016 // // 00017 // TF12 // 00018 // // 00019 // Projection of a TF2 along x or y // 00020 // // 00021 ////////////////////////////////////////////////////////////////////////// 00022 00023 #ifndef ROOT_TF2 00024 #include "TF2.h" 00025 #endif 00026 #ifndef ROOT_Riosfwd 00027 #include "Riosfwd.h" 00028 #endif 00029 00030 class TF12 : public TF1 { 00031 00032 protected: 00033 Double_t fXY; //Value along Y (if projection X) or X (if projection Y) 00034 Int_t fCase; //projection along X(0), or Y(1) 00035 TF2 *fF2; //pointer to the mother TF2 00036 00037 public: 00038 TF12(); 00039 TF12(const char *name, TF2 *f2, Double_t xy, Option_t *option="x"); 00040 TF12(const TF12 &f12); 00041 virtual ~TF12(); 00042 virtual void Copy(TObject &f12) const; 00043 virtual TF1 *DrawCopy(Option_t *option="") const; 00044 virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const; 00045 virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0); 00046 virtual Double_t GetXY() const {return fXY;} 00047 virtual void SavePrimitive(ostream &out, Option_t *option = ""); 00048 virtual void SetXY(Double_t xy); // *MENU* 00049 00050 ClassDef(TF12,1) //Projection of a TF2 along x or y 00051 }; 00052 00053 #endif