Converting TEvtGen to native cmake
[u/mrichter/AliRoot.git] / TEvtGen / EvtGen / EvtGenBase / EvtPhotonParticle.hh
CommitLineData
da0e9ce3 1//--------------------------------------------------------------------------
2//
3// Environment:
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.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGen/EvtPhotonParticle.hh
12//
13// Description:Class to describe photons
14//
15// Modification history:
16//
17// DJL/RYD Sept. 25, 1996 Module created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTPHOTONPARTICLE_HH
22#define EVTPHOTONPARTICLE_HH
23
24#include "EvtGenBase/EvtVector4C.hh"
25#include "EvtGenBase/EvtParticle.hh"
26class EvtId;
27
28//Class to handle massless spin 1 particles.
29
30class EvtPhotonParticle: public EvtParticle {
31
32public:
33
0ca57c2f 34 EvtPhotonParticle();
da0e9ce3 35 virtual ~EvtPhotonParticle();
36
37 void init(EvtId part_n,double e,double px,double py,double pz);
38 void init(EvtId part_n,const EvtVector4R& p4);
39
40 //Return polarization vectors
41 EvtVector4C epsParentPhoton(int i);
42 EvtVector4C epsPhoton(int i);
43
44
45 EvtSpinDensity rotateToHelicityBasis() const;
46 EvtSpinDensity rotateToHelicityBasis(double alpha,
47 double beta,
48 double gamma) const;
49
50private:
51
52 EvtVector4C eps1,eps2;
53 int _evalBasis;
54
55 EvtPhotonParticle(const EvtPhotonParticle& photon);
56 EvtPhotonParticle& operator=(const EvtPhotonParticle& photon);
57
58};
59
60#endif
61