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/EvtPhotonParticle.hh
13 // Description:Class to describe photons
15 // Modification history:
17 // DJL/RYD Sept. 25, 1996 Module created
19 //------------------------------------------------------------------------
21 #ifndef EVTPHOTONPARTICLE_HH
22 #define EVTPHOTONPARTICLE_HH
24 #include "EvtGenBase/EvtVector4C.hh"
25 #include "EvtGenBase/EvtParticle.hh"
28 //Class to handle massless spin 1 particles.
30 class EvtPhotonParticle: public EvtParticle {
35 virtual ~EvtPhotonParticle();
37 void init(EvtId part_n,double e,double px,double py,double pz);
38 void init(EvtId part_n,const EvtVector4R& p4);
40 //Return polarization vectors
41 EvtVector4C epsParentPhoton(int i);
42 EvtVector4C epsPhoton(int i);
45 EvtSpinDensity rotateToHelicityBasis() const;
46 EvtSpinDensity rotateToHelicityBasis(double alpha,
52 EvtVector4C eps1,eps2;
55 EvtPhotonParticle(const EvtPhotonParticle& photon);
56 EvtPhotonParticle& operator=(const EvtPhotonParticle& photon);