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 // Copyright (C) 1998 Caltech, UCSB 00010 // 00011 // Module: EvtGen/EvtTensorParticle.hh 00012 // 00013 // Description: Class to describe tensor ( spin 2 ) particles. 00014 // 00015 // Modification history: 00016 // 00017 // DJL/RYD Sept. 25, 1996 Module created 00018 // 00019 //------------------------------------------------------------------------ 00020 00021 #ifndef EVTTENSORPARTICLE_HH 00022 #define EVTTENSORPARTICLE_HH 00023 00024 #include "EvtGenBase/EvtTensor4C.hh" 00025 #include "EvtGenBase/EvtParticle.hh" 00026 00027 class EvtTensorParticle: public EvtParticle { 00028 00029 public: 00030 00031 EvtTensorParticle() {} 00032 virtual ~EvtTensorParticle(); 00033 00034 void init(EvtId part_n,double e,double px,double py,double pz); 00035 void init(EvtId part_n,const EvtVector4R& p4); 00036 //Returns polarization tensors. 00037 EvtTensor4C epsTensorParent(int i) const; 00038 EvtTensor4C epsTensor(int i) const; 00039 00040 EvtSpinDensity rotateToHelicityBasis() const; 00041 EvtSpinDensity rotateToHelicityBasis(double alpha, 00042 double beta, 00043 double gamma) const; 00044 00045 00046 private: 00047 00048 EvtTensor4C eps[5];//eps1,eps2,eps3,eps4,eps5; 00049 00050 EvtTensorParticle(const EvtTensorParticle& tensor); 00051 EvtTensorParticle& operator=(const EvtTensorParticle& tensor); 00052 00053 }; 00054 00055 #endif 00056