00001 //-------------------------------------------------------------------------- 00002 // 00003 // Environment: 00004 // This software is part of the EvtGen package developed jointly 00005 // for the BaBar and CLEO collaborations. If you use all or part 00006 // of it, please give an appropriate acknowledgement. 00007 // 00008 // Module: EvtBtoXsgammaKagan.cc 00009 // 00010 // Description: 00011 // Routine to perform two-body B->Xs,gamma decays with a fixed hadronic 00012 // mass. For spectrum measurements. 00013 // The input parameters are 1: the hadronic mass 00014 #include "EvtGenBase/EvtPatches.hh" 00015 00016 // Modification history: 00017 // 00018 // Jim Libby October 11 2002 00019 //------------------------------------------------------------------------ 00020 // 00021 00022 #include <stdlib.h> 00023 #include "EvtGenModels/EvtBtoXsgamma.hh" 00024 #include "EvtGenModels/EvtBtoXsgammaFixedMass.hh" 00025 #include <fstream> 00026 using std::endl; 00027 using std::fstream; 00028 00029 EvtBtoXsgammaFixedMass::~EvtBtoXsgammaFixedMass(){ 00030 } 00031 00032 void EvtBtoXsgammaFixedMass::init(int nArg, double* args){ 00033 00034 if ((nArg) > 2 || (nArg > 1 && nArg <2)){ 00035 00036 report(ERROR,"EvtGen") << "EvtBtoXsgamma generator model " 00037 << "EvtBtoXsgammaFixedMass expected " 00038 << "either 1(default config) or two arguments but found: "<<nArg<<endl; 00039 report(ERROR,"EvtGen") << "Will terminate execution!"<<endl; 00040 ::abort(); 00041 } 00042 00043 if(nArg == 1){ 00044 _mH = 2.0; 00045 }else{ 00046 _mH=args[1]; 00047 } 00048 } 00049 00050 double EvtBtoXsgammaFixedMass::GetMass( int Xscode ){ 00051 return _mH; 00052 } 00053