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/EvtDiracParticle.hh
13 // Description:EvtDiracParticle particles i.e. spin 1/2 particles.
15 // Modification history:
17 // DJL/RYD September 25, 1996 Module created
19 //------------------------------------------------------------------------
21 #ifndef EVTDIRACPARTICLE_HH
22 #define EVTDIRACPARTICLE_HH
24 #include "EvtGenBase/EvtDiracSpinor.hh"
25 #include "EvtGenBase/EvtParticle.hh"
30 class EvtDiracParticle:public EvtParticle {
36 virtual ~EvtDiracParticle();
37 void init(EvtId part_n,const EvtVector4R& p4);
38 void init(EvtId part_n,const EvtVector4R& p4,
39 const EvtDiracSpinor &,const EvtDiracSpinor &,
40 const EvtDiracSpinor &,const EvtDiracSpinor &);
41 EvtDiracSpinor spParent(int i) const {return _spinorParent[i];}
42 EvtDiracSpinor sp(int i) const {return _spinorRest[i];}
43 EvtSpinDensity rotateToHelicityBasis() const;
44 EvtSpinDensity rotateToHelicityBasis(double alpha,
50 EvtDiracSpinor _spinorRest[2];
51 EvtDiracSpinor _spinorParent[2];
52 EvtDiracParticle(const EvtDiracParticle& d);
53 EvtDiracParticle& operator=(const EvtDiracParticle& d);