00001 #include "formula.h" 00002 00003 TEFormula::TEFormula() : TFormula() 00004 { 00005 x = "x"; 00006 y = "y"; 00007 z = "z"; 00008 } 00009 00010 TEFormula::TEFormula(const char* name, const char* formula) 00011 : TFormula(name, formula) 00012 { 00013 x = "x"; 00014 y = "y"; 00015 z = "z"; 00016 } 00017 00018 TEFormula::~TEFormula() 00019 { 00020 } 00021 00022 Int_t TEFormula::DefinedVariable(TString& chaine) 00023 { 00024 if (chaine == x) { 00025 if (fNdim < 1) fNdim = 1; 00026 return 10000; 00027 } else if (chaine == y) { 00028 if (fNdim < 2) fNdim = 2; 00029 return 10001; 00030 } else if (chaine == z) { 00031 if (fNdim < 3) fNdim = 3; 00032 return 10002; 00033 } else if (chaine == "t") { 00034 if (fNdim < 4) fNdim = 4; 00035 return 10003; 00036 } 00037 00038 return -1; 00039 } 00040 00041 void TEFormula::SetVariables(const char* x, const char* y, const char* z) 00042 { 00043 this->x = x; 00044 this->y = y; 00045 this->z = z; 00046 } 00047 00048 void TEFormula::SetParNames(Param** params) 00049 { 00050 Int_t npar, i; 00051 00052 npar = GetNpar(); 00053 for (i = 0; i < npar; i++) 00054 SetParName(i, params[i]->name); 00055 } 00056 00057 00058 TEF2::TEF2() : TF2() 00059 { 00060 x = "x"; 00061 y = "y"; 00062 z = "z"; 00063 } 00064 00065 TEF2::TEF2(const char* name, const char* formula) 00066 : TF2(name, formula) 00067 { 00068 x = "x"; 00069 y = "y"; 00070 z = "z"; 00071 } 00072 00073 TEF2::~TEF2() 00074 { 00075 } 00076 00077 Int_t TEF2::DefinedVariable(TString& chaine) 00078 { 00079 if (chaine == x) { 00080 if (fNdim < 1) fNdim = 1; 00081 return 10000; 00082 } else if (chaine == y) { 00083 if (fNdim < 2) fNdim = 2; 00084 return 10001; 00085 } else if (chaine == z) { 00086 if (fNdim < 3) fNdim = 3; 00087 return 10002; 00088 } else if (chaine == "t") { 00089 if (fNdim < 4) fNdim = 4; 00090 return 10003; 00091 } 00092 00093 return -1; 00094 } 00095 00096 void TEF2::SetVariables(const char* x, const char* y, const char* z) 00097 { 00098 this->x = x; 00099 this->y = y; 00100 this->z = z; 00101 } 00102 00103 void TEF2::SetParNames(Param** params) 00104 { 00105 Int_t npar, i; 00106 00107 npar = GetNpar(); 00108 for (i = 0; i < npar; i++) 00109 SetParName(i, params[i]->name); 00110 } 00111 00112 TEF1::TEF1() : TF1() 00113 { 00114 x = "x"; 00115 y = "y"; 00116 z = "z"; 00117 } 00118 00119 TEF1::TEF1(const char* name, const char* formula) 00120 : TF1(name, formula) 00121 { 00122 x = "x"; 00123 y = "y"; 00124 z = "z"; 00125 } 00126 00127 TEF1::~TEF1() 00128 { 00129 } 00130 00131 Int_t TEF1::DefinedVariable(TString& chaine) 00132 { 00133 if (chaine == x) { 00134 if (fNdim < 1) fNdim = 1; 00135 return 10000; 00136 } else if (chaine == y) { 00137 if (fNdim < 2) fNdim = 2; 00138 return 10001; 00139 } else if (chaine == z) { 00140 if (fNdim < 3) fNdim = 3; 00141 return 10002; 00142 } else if (chaine == "t") { 00143 if (fNdim < 4) fNdim = 4; 00144 return 10003; 00145 } 00146 00147 return -1; 00148 } 00149 00150 void TEF1::SetVariables(const char* x, const char* y, const char* z) 00151 { 00152 this->x = x; 00153 this->y = y; 00154 this->z = z; 00155 } 00156 00157 void TEF1::SetParNames(Param** params) 00158 { 00159 Int_t npar, i; 00160 00161 npar = GetNpar(); 00162 for (i = 0; i < npar; i++) 00163 SetParName(i, params[i]->name); 00164 }