evtgen is hosted by Hepforge, IPPP Durham
EvtGen  2.0.0
Monte Carlo generator of particle decays, in particular the weak decays of heavy flavour particles such as B mesons.
EvtVectorParticle.hh
Go to the documentation of this file.
1 
2 /***********************************************************************
3 * Copyright 1998-2020 CERN for the benefit of the EvtGen authors *
4 * *
5 * This file is part of EvtGen. *
6 * *
7 * EvtGen is free software: you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation, either version 3 of the License, or *
10 * (at your option) any later version. *
11 * *
12 * EvtGen is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with EvtGen. If not, see <https://www.gnu.org/licenses/>. *
19 ***********************************************************************/
20 
21 #ifndef EVTVECTORPARTICLE_HH
22 #define EVTVECTORPARTICLE_HH
23 
27 
28 class EvtId;
29 
31  public:
32  EvtVectorParticle() = default;
33 
34  void init( EvtId part_n, double e, double px, double py, double pz );
35  void init( EvtId part_n, const EvtVector4R& p ) override;
36  void init( EvtId part_n, const EvtVector4R& p, const EvtVector4C&,
37  const EvtVector4C&, const EvtVector4C& );
38  EvtVector4C epsParent( int i ) const override
39  {
40  return boostTo( _eps[i], this->getP4() );
41  }
42  EvtVector4C eps( int i ) const override { return _eps[i]; }
43  EvtSpinDensity rotateToHelicityBasis() const override;
44  EvtSpinDensity rotateToHelicityBasis( double alpha, double beta,
45  double gamma ) const override;
46 
47  private:
49 
50  EvtVectorParticle( const EvtVectorParticle& vector );
52 };
53 
54 #endif
void init(EvtId part_n, double e, double px, double py, double pz)
EvtVector4C _eps[3]
EvtSpinDensity rotateToHelicityBasis() const override
EvtRaritaSchwinger boostTo(const EvtRaritaSchwinger &rs, const EvtVector4R p4)
Definition: EvtId.hh:27
EvtVector4C eps(int i) const override
const EvtVector4R & getP4() const
EvtVectorParticle()=default
EvtVector4C epsParent(int i) const override
EvtVectorParticle & operator=(const EvtVectorParticle &vector)