Line data Source code
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/EvtVectorParticle.hh
12 : //
13 : // Description: Class to describe vector particles.
14 : //
15 : // Modification history:
16 : //
17 : // DJL/RYD September 25, 1996 Module created
18 : //
19 : //------------------------------------------------------------------------
20 :
21 : #ifndef EVTVECTORPARTICLE_HH
22 : #define EVTVECTORPARTICLE_HH
23 :
24 : #include "EvtGenBase/EvtVector4R.hh"
25 : #include "EvtGenBase/EvtVector4C.hh"
26 : #include "EvtGenBase/EvtParticle.hh"
27 :
28 : class EvtId;
29 :
30 : class EvtVectorParticle: public EvtParticle {
31 :
32 : public:
33 :
34 0 : EvtVectorParticle() {}
35 : virtual ~EvtVectorParticle();
36 :
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 0 : EvtVector4C epsParent(int i) const {return boostTo(_eps[i],this->getP4());}
42 0 : EvtVector4C eps(int i) const {return _eps[i];}
43 : EvtSpinDensity rotateToHelicityBasis() const;
44 : EvtSpinDensity rotateToHelicityBasis(double alpha,
45 : double beta,
46 : double gamma) const;
47 :
48 : private:
49 :
50 : EvtVector4C _eps[3];
51 :
52 : EvtVectorParticle(const EvtVectorParticle& vector);
53 : EvtVectorParticle& operator=(const EvtVectorParticle& vector);
54 :
55 : };
56 :
57 : #endif
58 :
|