File indexing completed on 2026-08-06 09:20:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTDIRACPARTICLE_HH
0022 #define EVTDIRACPARTICLE_HH
0023
0024 #include "EvtGenBase/EvtDiracSpinor.hh"
0025 #include "EvtGenBase/EvtParticle.hh"
0026
0027 class EvtId;
0028 class EvtVector4R;
0029
0030 class EvtDiracParticle : public EvtParticle {
0031 public:
0032 EvtDiracParticle() = default;
0033 void init( EvtId part_n, const EvtVector4R& p4 ) override;
0034 void init( EvtId part_n, const EvtVector4R& p4, const EvtDiracSpinor&,
0035 const EvtDiracSpinor&, const EvtDiracSpinor&,
0036 const EvtDiracSpinor& );
0037 EvtDiracSpinor spParent( int i ) const override { return _spinorParent[i]; }
0038 EvtDiracSpinor sp( int i ) const override { return _spinorRest[i]; }
0039 EvtSpinDensity rotateToHelicityBasis() const override;
0040 EvtSpinDensity rotateToHelicityBasis( double alpha, double beta,
0041 double gamma ) const override;
0042
0043 private:
0044 EvtDiracSpinor _spinorRest[2];
0045 EvtDiracSpinor _spinorParent[2];
0046 EvtDiracParticle( const EvtDiracParticle& d );
0047 EvtDiracParticle& operator=( const EvtDiracParticle& d );
0048 };
0049 #endif