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 // Copyright Information: See EvtGen/COPYRIGHT 00009 // 00010 // Module: EvtSVPCP.cc 00011 // 00012 // Description: Routine to decay scalar -> vectors+photon 00013 // including CP violation effects 00014 // 00015 // Modification history: 00016 // 00017 // Maurizio pierini Nov 11, 2003 Module created 00018 // 00019 //------------------------------------------------------------------------ 00020 // 00021 00022 #ifndef EVTSVPCP_HH 00023 #define EVTSVPCP_HH 00024 00025 #include "EvtGenBase/EvtDecayAmp.hh" 00026 00027 class EvtParticle; 00028 00029 //Class to handle decays of the form SCALAR ->VECTOR PHOTON 00030 //where the helicity amplitudes must be specified. The 00031 //first and third arguements are the magnetudes of the H+ 00032 //and H- helicity amplitudes respectively. The second and 00033 //fourth arguements are the phases. 00034 //Calls EvtSVPHel. 00035 00036 class EvtSVPCP:public EvtDecayAmp { 00037 00038 public: 00039 00040 EvtSVPCP() {} 00041 virtual ~EvtSVPCP(); 00042 00043 void getName(std::string& name); 00044 EvtDecayBase* clone(); 00045 00046 void init(); 00047 void initProbMax(); 00048 void decay(EvtParticle *p); 00049 static void SVPHel(EvtParticle *parent,EvtAmp& amp,EvtId n_v1,EvtId n_v2, 00050 const EvtComplex& hp,const EvtComplex& hm); 00051 00052 }; 00053 00054 #endif