ROOT logo
// @(#)root/table:$Id: TTable3Points.h 20882 2007-11-19 11:31:26Z rdm $
// Author: Valery Fine   10/05/99  (E-mail: fine@bnl.gov)

/*************************************************************************
 * Copyright (C) 1995-2000, 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_TTable3Points
#define ROOT_TTable3Points

#include "TTablePoints.h"

class TTable3Points :  public TTablePoints
{
protected:
   ULong_t   *fColumnOffset; //!

public:
   enum EPointDirection {kXPoints,kYPoints,kZPoints,kTotalSize};
   TTable3Points();
   TTable3Points(TTableSorter *sorter,const void *key, const Char_t *xName="x",
      const Char_t *yName="y", const Char_t *zName="z",Option_t *opt="");
   TTable3Points(TTableSorter *sorter,Int_t keyIndex, const Char_t *xName="x",
      const Char_t *yName="y", const Char_t *zName="z",Option_t *opt="");
   ~TTable3Points();
   virtual void    SetAnyColumn(const Char_t *anyName, EPointDirection indx);
   virtual void    SetXColumn(const Char_t *xName){ SetAnyColumn(xName,kXPoints);}
   virtual void    SetYColumn(const Char_t *yName){ SetAnyColumn(yName,kYPoints);}
   virtual void    SetZColumn(const Char_t *zName){ SetAnyColumn(zName,kZPoints);}
   virtual Int_t   GetTotalKeys(){ return -1;}
   virtual Int_t   GetKey(Int_t ){return -1;}
   virtual Int_t   SetKeyByIndx(Int_t ){return -1;}
   virtual Int_t   SetKeyByValue(Int_t){return -1;}

   virtual Float_t   GetAnyPoint(Int_t idx, EPointDirection xAxis) const;
   virtual Float_t   GetX(Int_t idx)  const {return GetAnyPoint(idx,kXPoints);}
   virtual Float_t   GetY(Int_t idx)  const {return GetAnyPoint(idx,kYPoints);}
   virtual Float_t   GetZ(Int_t idx)  const {return GetAnyPoint(idx,kZPoints);}
   //-- abstract methods
   virtual void PaintPoints(int, float*, const char*) {}
   virtual const Float_t *GetXYZ(Int_t) {return 0;}
   virtual Float_t *GetXYZ(Float_t *xyz,Int_t idx , Int_t num=1 )const;
   virtual Float_t *GetP() const {return 0;}
   virtual Int_t    GetN() const {return -1;}

   //
   ClassDef(TTable3Points,0)  //A 3-D Points
};

#endif

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