ROOT logo
// @(#)root/hist:$Id$
// Author: Rene Brun   05/04/2003

/*************************************************************************
 * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TF12
#define ROOT_TF12

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TF12                                                                 //
//                                                                      //
// Projection of a TF2 along x or y                                     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TF2
#include "TF2.h"
#endif
#ifndef ROOT_Riosfwd
#include "Riosfwd.h"
#endif

class TF12 : public TF1 {

protected:
   Double_t    fXY;           //Value along Y (if projection X) or X (if projection Y)
   Int_t       fCase;         //projection along X(0), or Y(1)
   TF2        *fF2;           //pointer to the mother TF2

public:
   TF12();
   TF12(const char *name, TF2 *f2, Double_t xy, Option_t *option="x");
   TF12(const TF12 &f12);
   virtual   ~TF12();
   virtual void     Copy(TObject &f12) const;
   virtual TF1     *DrawCopy(Option_t *option="") const;
   virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const;
   virtual Double_t EvalPar(const Double_t *x, const Double_t *params=0);
   virtual Double_t GetXY() const {return fXY;}
   virtual void     SavePrimitive(ostream &out, Option_t *option = "");
   virtual void     SetXY(Double_t xy);  // *MENU*

   ClassDef(TF12,1)  //Projection of a TF2 along x or y
};

#endif
 TF12.h:1
 TF12.h:2
 TF12.h:3
 TF12.h:4
 TF12.h:5
 TF12.h:6
 TF12.h:7
 TF12.h:8
 TF12.h:9
 TF12.h:10
 TF12.h:11
 TF12.h:12
 TF12.h:13
 TF12.h:14
 TF12.h:15
 TF12.h:16
 TF12.h:17
 TF12.h:18
 TF12.h:19
 TF12.h:20
 TF12.h:21
 TF12.h:22
 TF12.h:23
 TF12.h:24
 TF12.h:25
 TF12.h:26
 TF12.h:27
 TF12.h:28
 TF12.h:29
 TF12.h:30
 TF12.h:31
 TF12.h:32
 TF12.h:33
 TF12.h:34
 TF12.h:35
 TF12.h:36
 TF12.h:37
 TF12.h:38
 TF12.h:39
 TF12.h:40
 TF12.h:41
 TF12.h:42
 TF12.h:43
 TF12.h:44
 TF12.h:45
 TF12.h:46
 TF12.h:47
 TF12.h:48
 TF12.h:49
 TF12.h:50
 TF12.h:51
 TF12.h:52
 TF12.h:53