1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtVectorParticle.hh
13 // Description: Class to describe vector particles.
15 // Modification history:
17 // DJL/RYD September 25, 1996 Module created
19 //------------------------------------------------------------------------
21 #ifndef EVTVECTORPARTICLE_HH
22 #define EVTVECTORPARTICLE_HH
24 #include "EvtGenBase/EvtVector4R.hh"
25 #include "EvtGenBase/EvtVector4C.hh"
26 #include "EvtGenBase/EvtParticle.hh"
30 class EvtVectorParticle: public EvtParticle {
34 EvtVectorParticle() {}
35 virtual ~EvtVectorParticle();
37 void init(EvtId part_n,double e,double px,double py,double pz);
38 void init(EvtId part_n,const EvtVector4R& p);
39 void init(EvtId part_n,const EvtVector4R& p,
40 const EvtVector4C&,const EvtVector4C&,const EvtVector4C&);
41 EvtVector4C epsParent(int i) const {return boostTo(_eps[i],this->getP4());}
42 EvtVector4C eps(int i) const {return _eps[i];}
43 EvtSpinDensity rotateToHelicityBasis() const;
44 EvtSpinDensity rotateToHelicityBasis(double alpha,
52 EvtVectorParticle(const EvtVectorParticle& vector);
53 EvtVectorParticle& operator=(const EvtVectorParticle& vector);