#include "PHASIC++/Channels/Single_Channel.H" #include "ATOOLS/Math/Random.H" #include "ATOOLS/Math/MathTools.H" #include "ATOOLS/Org/CXXFLAGS.H" using namespace PHASIC; using namespace ATOOLS; using namespace std; Single_Channel::Single_Channel() : name("no_name"), weight(0.), res1(0.),res2(0.),alpha(0.),alpha_save(0.), nin(0),nout(0),ms(NULL),rannum(0),rans(NULL), mres1(0.),mres2(0.) { } Single_Channel::Single_Channel(int _nin,int _nout,const Flavour * _fl) : name("no_name"), weight(0.), res1(0.),res2(0.),alpha(0.),alpha_save(0.), nin(_nin),nout(_nout),ms(new double[nin+nout+1]),rannum(0),rans(NULL), mres1(0.),mres2(0.) { for (int i(0);iname), weight(0.), res1(0.),res2(0.),alpha(0.),alpha_save(0.), nin(old->nin),nout(old->nout),ms(new double[nin+nout]), rannum(old->rannum),rans(new double[rannum]), mres1(0.),mres2(0.) { for (int i=0;ims[i]; } Single_Channel::~Single_Channel() { if (ms) delete[] ms; if (rans) delete[] rans; } void Single_Channel::Reset(double value) { alpha = alpha_save = value; weight = 0.; res1 = res2 = 0.; mres1=mres2=0.0; } void Single_Channel::ResetOpt() { res1 = res2 = 0.; mres1=mres2=0.0; } void Single_Channel::AddPoint(double Value) { } void Single_Channel::GeneratePoint(Vec4D* p,Cut_Data * cuts) { for (int i=0;iGet(); GeneratePoint(p,cuts,rans); } void Single_Channel::GeneratePoint(ATOOLS::Vec4D *p,Cut_Data *cuts,double *rans) { msg_Error()<<"Single_Channel::GeneratePoint(Vec4D *p,Cut_Data *cuts,double *rans): " <<"Virtual Method called !"< &ts,std::vector &ms,std::vector &ws) const { } size_t Single_Channel::NChannels() const { return 1; } void Single_Channel::CopyMPIValues() { res1+=mres1; res2+=mres2; mres1=mres2=0.0; } void Single_Channel::MPISync() { #ifdef USING__MPI THROW(not_implemented,"Channel not MPI ready"); #endif }