#ifndef ROO_MATH
#define ROO_MATH
#include "RooComplex.h"
#include <math.h>
#include <fstream>
typedef RooComplex* pRooComplex ;
typedef Double_t* pDouble_t ;
class RooMath {
public:
  virtual ~RooMath() {} ;
  
  static RooComplex ComplexErrFunc(Double_t re, Double_t im= 0);
  static RooComplex ComplexErrFunc(const RooComplex& z);
  
  static inline RooComplex FastComplexErrFunc(const RooComplex& z){
    return ITPComplexErrFunc(z,z.im()>0?3:4) ;
  }
  
  
  static inline Double_t FastComplexErrFuncRe(const RooComplex& z) {
    return ITPComplexErrFuncRe(z,z.im()>0?3:4) ;
  }
  
  static inline Double_t FastComplexErrFuncIm(const RooComplex& z) {
    return ITPComplexErrFuncIm(z,z.im()>0?3:4) ;
  }
  
  static RooComplex ITPComplexErrFunc(const RooComplex& z, Int_t nOrder) ;
  static Double_t ITPComplexErrFuncRe(const RooComplex& z, Int_t nOrder) ;
  static Double_t ITPComplexErrFuncIm(const RooComplex& z, Int_t nOrder) ;
  
  static void cacheCERF(Bool_t flag=kTRUE) { _cacheTable = flag ; }
  
  static Double_t interpolate(Double_t yArr[],Int_t nOrder, Double_t x) ;
  static Double_t interpolate(Double_t xa[], Double_t ya[], Int_t n, Double_t x) ;
  static Double_t erf(Double_t x) ;
  static Double_t erfc(Double_t x) ;
private:
  static Bool_t loadCache() ;
  static void storeCache() ;
  static const char* cacheFileName() ;
  
  static void initFastCERF(Int_t reBins= 800, Double_t reMin=-4.0, Double_t reMax=4.0, 
			   Int_t imBins=1000, Double_t imMin=-4.0, Double_t imMax=6.0) ;
  
  static pDouble_t* _imCerfArray ; 
  static pDouble_t* _reCerfArray ; 
  
  static Int_t _reBins ;      
  static Double_t _reMin ;    
  static Double_t _reMax ;    
  static Double_t _reRange ;  
  static Double_t _reStep ;   
  static Int_t _imBins ;      
  static Double_t _imMin ;    
  static Double_t _imMax ;    
  static Double_t _imRange ;  
  static Double_t _imStep ;   
  static Bool_t _cacheTable ; 
  
  ClassDef(RooMath,0) 
};
#endif
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.