#include "EvtGenBase/EvtPatches.hh" /******************************************************************************* * Project: BaBar detector at the SLAC PEP-II B-factory * Package: EvtGenBase * File: $Id: EvtDalitzResPdf.cc,v 1.5 2004/12/21 19:58:42 ryd Exp $ * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002 * * Copyright (C) 2002 Caltech *******************************************************************************/ #include #include #include "EvtGenBase/EvtPatches.hh" #include "EvtGenBase/EvtConst.hh" #include "EvtGenBase/EvtDalitzResPdf.hh" #include "EvtGenBase/EvtDalitzCoord.hh" #include "EvtGenBase/EvtRandom.hh" using namespace EvtCyclic3; EvtDalitzResPdf::EvtDalitzResPdf(const EvtDalitzPlot& dp, double _m0, double _g0, EvtCyclic3::Pair pair) : EvtPdf(), _dp(dp), _m0(_m0), _g0(_g0), _pair(pair) {} EvtDalitzResPdf::EvtDalitzResPdf(const EvtDalitzResPdf& other) : EvtPdf(other), _dp(other._dp),_m0(other._m0), _g0(other._g0), _pair(other._pair) {} EvtDalitzResPdf::~EvtDalitzResPdf() {} EvtValError EvtDalitzResPdf::compute_integral(int N) const { assert(N != 0); EvtCyclic3::Pair i = _pair; EvtCyclic3::Pair j = EvtCyclic3::next(i); // Trapezoidal integral double dh = (_dp.qAbsMax(j) - _dp.qAbsMin(j))/((double) N); double sum = 0; int ii; for(ii=1;ii