//-------------------------------------------------------------------------- // // Environment: // This software is part of the EvtGen package developed jointly // for the BaBar and CLEO collaborations. If you use all or part // of it, please give an appropriate acknowledgement. // // Copyright Information: See EvtGen/COPYRIGHT // Copyright (C) 1998 Caltech, UCSB // // Module: EvtHighSpinParticle.cc // // Description: Class to describe particles with spin>2. // // Modification history: // // RYD August 8, 2000 Module created // //------------------------------------------------------------------------ // #include "EvtGenBase/EvtPatches.hh" #include "EvtGenBase/EvtPatches.hh" #include #include #include #include "EvtGenBase/EvtHighSpinParticle.hh" #include "EvtGenBase/EvtVector4R.hh" #include "EvtGenBase/EvtPDL.hh" #include "EvtGenBase/EvtSpinDensity.hh" #include "EvtGenBase/EvtdFunction.hh" EvtHighSpinParticle::~EvtHighSpinParticle() {} void EvtHighSpinParticle::init(EvtId id,const EvtVector4R& p4){ _validP4=true; setp(p4); setpart_num(id); setLifetime(); } EvtSpinDensity EvtHighSpinParticle::rotateToHelicityBasis() const{ int n=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getId())); EvtSpinDensity R; R.setDiag(n); return R; } EvtSpinDensity EvtHighSpinParticle::rotateToHelicityBasis(double alpha, double beta, double gamma) const{ int i,j; int n=EvtSpinType::getSpinStates(EvtPDL::getSpinType(getId())); EvtSpinDensity R; R.setDim(n); int J2=EvtSpinType::getSpin2(EvtPDL::getSpinType(getId())); assert(n==J2+1); int *lambda2; lambda2=new int[J2+1]; for(i=0;i