97 if (variables.Length() == 0)
103 if (variables[i] ==
':'
104 && !( (i > 0 && variables[i - 1] ==
':')
105 || (i + 1 < variables.Length() && variables[i + 1] ==
':') ) ) {
132 name.ReplaceAll(
" ",
"");
134 if (
name.Length() != 0 &&
name[0] ==
'+') {
146 if (
char *p = (
char*)strstr(
name.Data(),
"(")) {
149 char* end = p + strlen(p);
153 while (p < end && *p !=
',' && *p !=
')')
161 Error(
"ParseName",
"expected \')\'");
170 Error(
"ParseName",
"impossible value for *q!");
187 char* gg = (
char*)strstr(
fExp.Data(),
">>");
192 variables =
fExp(0, gg -
fExp.Data());
201 Error(
"ParseVarExp",
"error parsing variable expression");
215 if (
fOption.Contains(
"goff")) {
218 if (
fOption.Contains(
"prof")) {
221 if (
fOption.Contains(
"same")) {
224 if (
fOption.Contains(
"entrylist")){
284 if (
fOption.Contains(
"same")) graph =
true;
288 if (
fOption.Contains(
"box")) graph =
false;
320 Error(
"GetParameter",
"wrong arguments");
363 Error(
"GetVarExp",
"wrong Parameters %d; fDimension = %d", num,
fDimension);
int Int_t
Signed integer 4 bytes (int).
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char).
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
const char * Data() const
TString GetObjectTitle() const
Returns the desired plot title.
Double_t GetParameter(int num) const
returns num-th parameter from brackets in the expression in case of an error (wrong number) returns 0...
bool SplitVariables(TString variables)
Parse expression [var1 [:var2 [:var3] ...]], number of variables cannot be greater than fgMaxDimensio...
static Int_t GetMaxDimension()
return fgMaxDimension (cannot be inline)
Double_t GetIfSpecified(Int_t num, Double_t def) const
bool IsSpecified(int num) const
returns true if the num-th parameter was specified otherwise returns fFALSE in case of an error (wron...
TString fOption
Draw options.
bool fShouldDraw
If to draw the plot.
bool ParseName(TString name)
Syntax:
EOutputType fOutputType
Type of the output.
~TTreeDrawArgsParser() override
Destructor.
Int_t fNoParameters
If dimensions of the plot was specified.
bool fOptionSame
If option contained "same".
bool fDrawProfile
True if the options contain :"prof".
Int_t fDimension
Dimension of the histogram/plot.
TTreeDrawArgsParser::EOutputType DefineType()
Put the type of the draw result into fOutputType and return it.
TObject * fOriginal
Original plot (if it is to be reused).
TString fSelection
Selection expression.
static Int_t fgMaxDimension
= 4
bool fAdd
Values should be added to an existing object.
TString fVarExp[4]
Variable expression 0 - X, 1 - Y, 2 - Z, 3 - W If dimension < fgMaxDimension then some Expressions ar...
TTreeDrawArgsParser()
Constructor - cleans all the class variables.
bool fEntryList
If fill a TEntryList.
Double_t fParameters[9]
Parameters in brackets.
bool ParseVarExp()
Split variables and parse name and parameters in brackets.
void ClearPrevious()
Resets all the variables of the class.
static Int_t fgMaxParameters
= 9
TString fExp
Complete variable expression.
TString fName
Histogram's/plot's name.
bool fParameterGiven[9]
True if the parameter was given, otherwise false.
bool ParseOption()
Check if options contain some data important for choosing the type of the drawn object.
bool Parse(const char *varexp, const char *selection, Option_t *option)
Parses parameters from TTree::Draw().
TString GetVarExp() const
Returns the variable string, i.e. [var1[:var2[:var2[:var4]]]].