- Timestamp:
- Jun 29, 2015, 10:28:05 PM (9 years ago)
- Branches:
- ImprovedOutputFile, Timing, dual_readout, llp, master
- Children:
- ff37d75
- Parents:
- 839deb7
- Location:
- classes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
classes/DelphesCylindricalFormula.cc
r839deb7 rc1ce3fe 23 23 24 24 #include <stdexcept> 25 #include <string>26 25 27 26 using namespace std; … … 51 50 Int_t DelphesCylindricalFormula::Compile(const char *expression) 52 51 { 53 string buffer;52 TString buffer; 54 53 const char *it; 55 54 for(it = expression; *it; ++it) 56 55 { 57 56 if(*it == ' ' || *it == '\t' || *it == '\r' || *it == '\n' || *it == '\\' ) continue; 58 buffer. push_back(*it);57 buffer.Append(*it); 59 58 } 60 if(TFormula::Compile(buffer.c_str()) != 0) 59 buffer.ReplaceAll("r", "x"); 60 buffer.ReplaceAll("phi", "y"); 61 buffer.ReplaceAll("z", "z"); 62 if(TFormula::Compile(buffer) != 0) 61 63 { 62 64 throw runtime_error("Invalid formula."); … … 69 71 Double_t DelphesCylindricalFormula::Eval(Double_t r, Double_t phi, Double_t z) 70 72 { 71 72 73 Double_t x[3] = {r, phi, z}; 74 return EvalPar(x); 73 75 } 74 76 75 77 //------------------------------------------------------------------------------ 76 77 Int_t DelphesCylindricalFormula::DefinedVariable(TString &chaine, Int_t &action)78 {79 action = kVariable;80 if(chaine == "r")81 {82 if(fNdim < 1) fNdim = 1;83 return 0;84 }85 else if(chaine == "phi")86 {87 if(fNdim < 2) fNdim = 2;88 return 1;89 }90 else if(chaine == "z")91 {92 if(fNdim < 3) fNdim = 3;93 return 2;94 }95 return -1;96 }97 98 //------------------------------------------------------------------------------ -
classes/DelphesCylindricalFormula.h
r839deb7 rc1ce3fe 35 35 36 36 Double_t Eval(Double_t r, Double_t phi = 0, Double_t z = 0); 37 38 Int_t DefinedVariable(TString &variable, Int_t &action);39 37 }; 40 38
Note:
See TracChangeset
for help on using the changeset viewer.