16 #ifndef ROO_GEXP_MODEL
17 #define ROO_GEXP_MODEL
96 std::complex<Double_t> z(swt*c,u+c);
Double_t logErfC(Double_t x) const
Approximation of the log of the complex error function.
std::complex< Double_t > evalCerfInt(Double_t sign, Double_t wt, Double_t tau, Double_t umin, Double_t umax, Double_t c) const
void generateEvent(Int_t code)
Interface for generation of anan event using the algorithm corresponding to the specified code...
Double_t calcDecayConv(Double_t sign, Double_t tau, Double_t sig, Double_t rtau, Double_t fsign) const
Double_t evalCerfRe(Double_t u, Double_t c) const
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
void advertiseFlatScaleFactorIntegral(Bool_t flag)
#define ClassDef(name, id)
static std::complex< Double_t > evalCerfApprox(Double_t swt, Double_t u, Double_t c)
use the approximation: erf(z) = exp(-z*z)/(sqrt(pi)*z) to explicitly cancel the divergent exp(y*y) be...
std::complex< Double_t > calcSinConvNorm(Double_t sign, Double_t tau, Double_t omega, Double_t sig, Double_t rtau, Double_t fsign, const char *rangeName) const
old code (asymptotic normalization only) std::complex z(1/tau,sign*omega); return z*2/(omeg...
virtual Int_t basisCode(const char *name) const
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported...
virtual TObject * clone(const char *newname) const
static std::complex< double > faddeeva_fast(std::complex< double > z)
evaluate Faddeeva function for complex argument (fast version)
static std::complex< double > erfc(const std::complex< double > z)
complex erfc function
static std::complex< Double_t > evalCerf(Double_t swt, Double_t u, Double_t c)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual ~RooGExpModel()
Destructor.
virtual Double_t evaluate() const
std::complex< Double_t > calcSinConv(Double_t sign, Double_t sig, Double_t tau, Double_t omega, Double_t rtau, Double_t fsign) const
Mother of all ROOT objects.
void advertiseAsymptoticIntegral(Bool_t flag)