File indexing completed on 2026-08-06 09:20:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVTVECTORPARTICLE_HH
0022 #define EVTVECTORPARTICLE_HH
0023
0024 #include "EvtGenBase/EvtParticle.hh"
0025 #include "EvtGenBase/EvtVector4C.hh"
0026 #include "EvtGenBase/EvtVector4R.hh"
0027
0028 class EvtId;
0029
0030 class EvtVectorParticle : public EvtParticle {
0031 public:
0032 EvtVectorParticle() = default;
0033
0034 void init( EvtId part_n, double e, double px, double py, double pz );
0035 void init( EvtId part_n, const EvtVector4R& p ) override;
0036 void init( EvtId part_n, const EvtVector4R& p, const EvtVector4C&,
0037 const EvtVector4C&, const EvtVector4C& );
0038 EvtVector4C epsParent( int i ) const override
0039 {
0040 return boostTo( _eps[i], this->getP4() );
0041 }
0042 EvtVector4C eps( int i ) const override { return _eps[i]; }
0043 EvtSpinDensity rotateToHelicityBasis() const override;
0044 EvtSpinDensity rotateToHelicityBasis( double alpha, double beta,
0045 double gamma ) const override;
0046
0047 private:
0048 EvtVector4C _eps[3];
0049
0050 EvtVectorParticle( const EvtVectorParticle& vector );
0051 EvtVectorParticle& operator=( const EvtVectorParticle& vector );
0052 };
0053
0054 #endif