8#include "TInterpreter.h"
9#include "TMethodCall.h"
10#include "TMethodArg.h"
29#define MAX_COMMAND_POINTER 1000
30#define MAX_COMMAND_TMETHODS 100
31#define MAX_COMMAND_OPTIONS 10
32#define MAX_STACK_GOSUB 20
33#define MAX_READLINE_ARGS 20
45#define kPUSHBRANCH 128
48#define COMMAND_MASS '1'
49#define COMMAND_MASS2 '2'
50#define COMMAND_GETBEAM '3'
51#define COMMAND_GETTARGET '4'
53#define COMMAND_ELSE '%'
54#define COMMAND_PLUS '+'
55#define COMMAND_MINUS '-'
56#define COMMAND_DIV '/'
57#define COMMAND_MULT '*'
59#define COMMAND_EQUAL '~'
62#define COMMAND_BOOST 'b'
63#define COMMAND_COS 'c'
64#define COMMAND_EVAL 'e'
65#define COMMAND_FABS 'f'
66#define COMMAND_INTERNAL 'i'
67#define COMMAND_PRINT 'p'
68#define COMMAND_ROT 'r'
69#define COMMAND_THETA 't'
70#define COMMAND_GETRANDOM 'v'
71#define COMMAND_GETRANDOMX 'x'
72#define COMMAND_GETRANDOMY 'y'
75#define COMMAND_ANGLE 'A'
76#define COMMAND_BRANCH 'B'
77#define COMMAND_P3E 'E'
78#define COMMAND_GOTO 'G'
79#define COMMAND_PUSH 'H'
80#define COMMAND_LABEL 'L'
81#define COMMAND_PFORMULA 'P'
82#define COMMAND_P3M 'Q'
83#define COMMAND_RETURN 'R'
84#define COMMAND_GOSUB 'S'
85#define COMMAND_PVALUE 'V'
86#define COMMAND_EXIT 'X'
87#define COMMAND_ECHO 'Y'
88#define COMMAND_READLINE 'Z'
89#define COMMAND_FORMORE '>'
90#define COMMAND_FOREACH '<'
94#define METHOD_RETURN_DOUBLE 1
95#define METHOD_RETURN_INT 2
96#define METHOD_RETURN_VOID 4
97#define METHOD_RETURN_PPARTICLE 8
99#define STREAM_MAX_POS "npar"
100#define STREAM_DEFAULT_POS "cpos"
111 Bool_t CheckAndSplit(
char * arg,
char delim,
int *key1,
int *key2);
113 Bool_t GetArguments(
const char *a,
114 char *name,
char **function,
char **arg1,
char **arg2);
115 Int_t CheckObjectType(Int_t key);
116 Int_t GetKey(
char *name,
int fl,
int makeflag);
117 Int_t GetDelimPosition(
char *arg,
char delim, Int_t *yes=NULL);
119 Int_t GetMethodHandle(
char *name, Int_t flag=0);
120 Int_t CrackMethodArgs(
char *name);
121 Int_t arg1, arg2, arg3, arg4;
123 Int_t command_pointer, method_pointer, last_command_pointer;
148 Int_t batch_particle_param, batch_value_param, pid_param, num_command_param, num_batch_param, num_bulk_param,
149 stream_default_pos_param, stream_max_pos_param, batch_update_param, batch_models_param;
150 Int_t batch_histogram_param;
151 Int_t num_batch,num_bulk, locnum_batch, locnum_bulk, locnum_command, locnum_old_command;
154 Int_t current_position;
159 void AddSpacePlaceholder(
char *command);
160 void RemoveSpacePlaceholder(
char *command);
161 Int_t EvalPFormula(
char *command);
172 TH1D **slicesx, **slicesy;
174 FILE *file, *tmp_file;
178 Int_t eval_err_dumped;
183 Int_t *size_branches;
192 void Print(
const Option_t *delme=NULL)
const ;
195 Bool_t
AddCommand(
char command,
int key_a,
int key1,
int key2,
int key3=-1,
int key4=-1,
int key5=-1);
198 num_batch = my_num_batch;
199 num_bulk = my_num_bulk;
209 using TObject::Execute;
210 Int_t
Execute(Int_t command_pos=0, Int_t retval=kFALSE);
212 Bool_t retval =
Execute(last_command_pointer);
213 last_command_pointer = command_pointer;
220 last_command_pointer = command_pointer;
221 Error(
"Execute",
"Command not executed");
251 return current_particle;
268 void ReplaceAll(TString *op,
const char *oldstring,
const char *newstring);
270 void SetTree(TTree *my_tree) {tree = my_tree;};
PBatch * makeGlobalBatch()
#define MAX_COMMAND_POINTER
#define MAX_COMMAND_OPTIONS
#define MAX_COMMAND_TMETHODS
input AddCommand("myeta = P3M(0.,0.,0.,eta.mass)")
void SetToolObject(FILE *f)
void SetTree(TTree *my_tree)
void SetPosition(Int_t my_num_batch, Int_t my_num_bulk)
void SetVarList(char *my_x)
void ReplaceAll(TString *op, const char *oldstring, const char *newstring)
void SetSizeBranches(Int_t *my_size_branches)
void SetKeysBranches(Int_t *my_key_branches)
void SetToolObject(TH3 *Histo3)
void SetToolObjectTmp(FILE *f)
void SetToolObject(TH2 *Histo2)
Bool_t Execute(const char *command)
void Print(const Option_t *delme=NULL) const
Bool_t AddCommand(const char *command)
void SetToolObject(TGraph2D *Graph2D)
Int_t ExecuteLastLine(void)
PParticle * GetCurrentParticle(void)
Int_t Execute(Int_t command_pos=0, Int_t retval=kFALSE)
void SetToolObject(TGraph *Graph)
Bool_t AddCommand(char command, int key_a, int key1, int key2, int key3=-1, int key4=-1, int key5=-1)
void SetToolObject(TH1 *Histo1)
Int_t GetCurrentPosition()