#ifndef ROOT_TTreeDrawArgsParser
#define ROOT_TTreeDrawArgsParser
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
class TTreeDrawArgsParser : public TObject {
public:
enum EOutputType {
kUNKNOWN,
kEVENTLIST,
kENTRYLIST,
kPROFILE,
kPROFILE2D,
kGRAPH,
kPOLYMARKER3D,
kHISTOGRAM1D,
kHISTOGRAM2D,
kLISTOFGRAPHS,
kLISTOFPOLYMARKERS3D
};
static Int_t fgMaxDimension;
static Int_t fgMaxParameters;
protected:
TString fExp;
TString fSelection;
TString fOption;
Int_t fDimension;
TString fVarExp[4];
Bool_t fAdd;
TString fName;
Int_t fNoParameters;
Bool_t fParameterGiven[9];
Double_t fParameters[9];
Bool_t fShouldDraw;
Bool_t fOptionSame;
Bool_t fEntryList;
TObject *fOriginal;
Bool_t fDrawProfile;
EOutputType fOutputType;
void ClearPrevious();
TTreeDrawArgsParser::EOutputType DefineType();
Bool_t SplitVariables(TString variables);
Bool_t ParseName(TString name);
Bool_t ParseOption();
Bool_t ParseVarExp();
public:
TTreeDrawArgsParser();
~TTreeDrawArgsParser();
Bool_t Parse(const char *varexp, const char *selection, Option_t *option);
Bool_t GetAdd() const { return fAdd; }
Int_t GetDimension() const { return fDimension; }
Bool_t GetShouldDraw() const { return fShouldDraw; }
TString GetExp() const { return fExp; }
Double_t GetIfSpecified(Int_t num, Double_t def) const;
Int_t GetNoParameters() const { return fNoParameters; }
Double_t GetParameter(int num) const;
TString GetProofSelectorName() const;
TString GetObjectName() const { return fName; }
TString GetObjectTitle() const;
Bool_t GetOptionSame() const { return fOptionSame; }
TObject *GetOriginal() const { return fOriginal; }
TString GetSelection() const { return fSelection; }
TString GetVarExp(Int_t num) const;
TString GetVarExp() const;
Bool_t IsSpecified(int num) const;
void SetObjectName(const char *s) { fName = s; }
void SetOriginal(TObject *o) { fOriginal = o; }
static Int_t GetMaxDimension();
ClassDef(TTreeDrawArgsParser,0);
};
#endif
Last change: Wed Jun 25 08:54:19 2008
Last generated: 2008-06-25 08:54
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.